1. java中字元輸入流括弧中為什麼還要加入字母
用來判斷數據類型和運作效果。
字元流是針對字元數據的特點進行過優化的,因而提供一些面向字元的有用特性,字元流的源或目標通常是文本文件,Reader和Writer是java.io包中所有字元流的父類,由於它們都是抽象類,所以應使用它們的子類來創建實體對象,利用對象來處理相關的讀寫操作,Reader和Writer的子類又可以分為兩大類一類用來從數據源讀入數據或往目的地寫出數據稱為節點流,另一類對數據執行某種處理稱為處理流。
2. java如何使用文件字元輸入流FileReader
文件字元輸入流與文件位元組輸入流的功能相似,但是傳送數據的方式不一樣,位元組流以位元組為單位傳送數據,可以使文本、視頻、音頻、圖片等。字元流以字元為單位傳送數據,只能傳送文本類型的數據。
創建字元輸入流常用的構造方法:
語法1:
語法2:
3. Java題目:編寫程序,將一個字元串轉為位元組數組輸入流。轉換為大寫字母輸出
import java.io.ByteArrayInputStream;x0dx0aimport java.io.ByteArrayOutputStream;x0dx0ax0dx0apublic class IOAnswer {x0dx0ax0dx0apublic static void main(String[] args) {x0dx0aString str = "Hello,ABC"; //源字元串x0dx0a//位元組數組輸入流x0dx0aByteArrayInputStream s = new ByteArrayInputStream(str.getBytes());x0dx0a//位元組數組輸出流x0dx0aByteArrayOutputStream baos = new ByteArrayOutputStream();x0dx0a//循 環讀取x0dx0aint b = -1;x0dx0awhile((b = s.read()) != -1){x0dx0a//把大寫字母轉換成小寫字母x0dx0aif(b >= 97 && b <= 122){ //大寫字母從 65~90, 小寫字母從 97~122x0dx0ab -= 32;x0dx0a}x0dx0a//寫回到位元組數組輸出流中x0dx0abaos.write(b);x0dx0a}x0dx0a//輸出,並把位元組數組輸出流轉換成字元串x0dx0aString out = baos.toString();x0dx0aSystem.out.println(out);x0dx0a}x0dx0a}
4. 小白求助,java輸入流問題
這個用到java io的知識:
Java.io包幾乎包含了所有操作輸入、輸出需要的類。所有這些流類代表了輸入源和輸出目標。
Java.io包中的流支持很多種格式,比如:基本類型、對象、本地化字元集等等。
一個流可以理解為一個數據的序列。輸入流表示從一個源讀取數據,輸出流表示向一個目標寫數據。
Java為I/O提供了強大的而靈活的支持,使其更廣泛地應用到文件傳輸和網路編程中。
但本節講述最基本的和流與I/O相關的功能。我們將通過一個個例子來學習這些功能。
輸入:
Java的控制台輸入由System.in完成。
為了獲得一個綁定到控制台的字元流,你可以把System.in包裝在一個BufferedReader 對象中來創建一個字元流。
下面是創建BufferedReader的基本語法:
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
BufferedReader對象創建後,我們便可以使用read()方法從控制台讀取一個字元,或者用readLine()方法讀取一個字元串。
實例:
// 使用 BufferedReader 在控制台讀取字元
import java.io.*;
public class BRRead {
public static void main(String args[]) throws IOException
{
char c;
// 使用 System.in 創建 BufferedReader
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
System.out.println("Enter characters, 'q' to quit.");
// 讀取字元
do {
c = (char) br.read();
System.out.println(c);
} while(c != 'q');
}
}
5. java如何使用字元輸入流抽象類:Reader類
返回
方法
說明
boolean ready() 判斷此數據流是否准備好
int read() 讀入一個字元,若已讀到流結尾,則返回值為-1
int read(char[ ]) 讀取一些字元到char[ ]數組內,並返回所讀入的字元的數量,若已到達流結尾,則返回-1
Abscract int read(char[ ] chars,int off,int len) 讀取一些字元到char[ ]數組下標從off開始到off+len的位置,並返回所讀入的字元的數量,若已到達流結尾,則返回-1;
void reset() 將當前輸入流重新定位到最後一次mark()方法時的位置
void mark(int readLimit) 將當前輸入流中做標記,當調用reset方法時將返回到該位置,從標記位置開始,到再讀入readLimit個字元為止,這個標記都維持有效
boolean markSupported 測試當前輸入流是否支持mark()方法和reset()方法。只要有一個方法不支持,則返回-1
long skip(long n) 跳過參數n指定的字元數量,並返回所跳過字元的數量
Abstract void close() 關閉字元輸入流,並釋放與之關聯的所有資源
6. java中關於字元輸出流和字元輸入流
設計本身如此,你可以在FileReader基本上作BufferedReader對象,這樣就可以一次讀取一行字元,方法;public
String
readLine();
7. Java如何把字元串轉化為輸入流
//txt為TextArea內的字元串
try{
InputStream
myIn=new
ByteArrayInputStream(txt.getBytes());
//將System.in轉化為面向字元的流
InputStreamReader
ir
=
new
InputStreamReader(myIn);
in
=
new
BufferedReader(ir);//為輸入流提供緩沖區
while
((s
=
in.readLine())
!=
"bye")
System.out.println("Read:
"
+
s);
}
catch(IOException
e)
{System.out.println("Error!
");}
}
8. 小白求助,java輸入流問題
首先需要注意的是輸入流可以分字元流還有位元組流,主要是在輸入流的讀取的方式上,位元組流是調用read()或者read(bytes),bytes,是位元組數組。
一次類推字元流是可以通過read()或者read(chars),chars是字元數組