บทนำ
ในบทความนี้ เราจะเรียนรู้วิธีการแปลงสตริง (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