Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java แปลงสตริงเป็น InputStream


บทนำ

ในบทความนี้ เราจะเรียนรู้วิธีการแปลงสตริง (String) ให้กลายเป็น InputStream สตริงเป็นชนิดข้อมูลที่ประกอบด้วยตัวอักษรหนึ่งตัวขึ้นไป และล้อมรอบด้วยเครื่องหมายคำพูดคู่ (" ") คลาส InputStream เป็นซุปเปอร์คลาสของทุกคลาสที่แทนสตรีมอินพุตของไบต์

ตัวอย่างการทำงาน

อินพุทตัวอย่าง:

Input string: Java Program

เอาต์พุทที่คาดหวัง:

The number of bytes available at the beginning: 12
The number of bytes available at the end: 10

อัลกอริทึม

ขั้นตอนที่ 1 - เริ่มต้น
ขั้นตอนที่ 2 - ประกาศสตริงชื่อ input_string และออบเจ็กต์ InputStream ชื่อ input_stream
ขั้นตอนที่ 3 - กำหนดค่า
ขั้นตอนที่ 4 - ใช้ฟังก์ชัน read() เพื่ออ่านไบต์ และ .available() เพื่อดูไบต์ที่มีอยู่
ขั้นตอนที่ 5 - แสดงผลลัพธ์
ขั้นตอนที่ 6 - จบการทำงาน

ตัวอย่างที่ 1: เขียนในฟังก์ชัน main โดยตรง

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;

public class Demo {
    public static void main(String args[]) {
        String input_string = "Java Program";
        System.out.println("The string is defined as: " + input_string);
        try {
            InputStream input_stream = new ByteArrayInputStream(input_string.getBytes(StandardCharsets.UTF_8));
            System.out.println("The number of bytes available at the beginning: " + input_stream.available());
            input_stream.read();
            input_stream.read();
            System.out.println("The number of bytes available at the end: " + input_stream.available());
            input_stream.close();
        } catch (Exception e) {
            e.getStackTrace();
        }
    }
}

เอาต์พุท

The string is defined as: Java Program
The number of bytes available at the beginning: 12
The number of bytes available at the end: 10

ตัวอย่างที่ 2: ใช้เมธอดแยก (Object-Oriented Style)

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;

public class Demo {
    static void check_bytes(String input_string) {
        try {
            InputStream input_stream = new ByteArrayInputStream(input_string.getBytes(StandardCharsets.UTF_8));
            System.out.println("The number of bytes available at the beginning: " + input_stream.available());
            input_stream.read();
            input_stream.read();
            System.out.println("The number of bytes available at the end: " + input_stream.available());
            input_stream.close();
        } catch (Exception e) {
            e.getStackTrace();
        }
    }
    
    public static void main(String args[]) {
        String input_string = "Java Program";
        System.out.println("The string is defined as: " + input_string);
        check_bytes(input_string);
    }
}

เอาต์พุท

The string is defined as: Java Program
The number of bytes available at the beginning: 12
The number of bytes available at the end: 10