javainputstreamin
A. 用java的inputstream和outputstream做網頁的文件上傳
你可以這樣理解:
fileinputstream
in
=
new
fileinputstream("e:\\a.zip");
fileinputstream
顧名思義,就是寫入。這句話將a.zip做編碼後放到in,要用a.zip的時候就使用in讀出來。
fileoutputstream
os
=
new
fileoutputstream("e:\\b.zip");
fileoutputstream顧名思義,就是讀出,讀出的話就要指定讀出的目的地,e:\\b.zip便是目的地。
while(in.read(bt)
!=
-1)
{
os.write(bt);
}
這段代碼就是從in中讀出編碼後的文件內容,然後通過os寫入b.zip.
B. java InputStream類中read()方法的返回的問題
read方法是讀取的位元組流,也就是每次只能讀取一個位元組,如果是漢字的話,肯定會出現亂碼,此時必須用readline方法來整行讀取,大大的提高了讀取效率。
可以通過BufferedReader 流的形式進行流緩存,之後通過readLine方法獲取到緩存的內容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
System.out.println(str);//原樣輸出讀到的內容
};
備註: 流用完之後必須close掉,如上面的就應該是:bre.close(),否則bre流會一直存在,直到程序運行結束。
C. JAVA中DateInputStream的使用
是要解釋這段代碼么?
java中io這部分代碼使用了裝飾器(Decorator)設計模式。
DataInputStream、BufferedInputStream和FileInputStream都是InputStream的子類,分的更細一點,DataInputStream、BufferedInputStream是FilterInputStream的子類
每一個FilterInputStream都有一個構造方法
new FilterInputStream(InputStream in),能夠接受一個InputStream對象,在其上裝飾一層新的功能,比如BufferedInputStream就加了緩沖區,DataInputStream就加上讀各種基本類型數據,如byte、int、String的功能
比如第二段代碼
DataInputStream fis = new DataInputStream(new BufferedInputStream( new FileInputStream(filePath)));
就在一個文件流上裝飾了緩沖區、以及對各基本類型數據的讀操作
而第一段代碼的
dis.readByte()就在輸入流中讀取一個byte
D. JAVA中OutputStream out, InputStream in 其中out in怎麼賦值
int len=-1;
byte[] bt = new byte[2048]; //可以根據實際情況調整,建議使用1024,即每次讀1KB
while(len=(in.read(bt)) != -1) {
os.write(bt,0,len); //建議不要直接用os.write(bt)
}
os.flush();
in.close();
os.close();
E. java的InputStream所捕獲到的鍵盤按鍵怎麼轉換成字元或整型
InputStream ins=System.in;
int ch=ins.read();
System.out.println((char)ch);//將int類型強制轉換為char類型
F. Java中InputStream的讀取方式是什麼
java中DataInputStream使用構造參數,使用bufferreader,輸入參數system.in就可以讀取控制台的字元串。
G. java如何讀取InputStream中的字元串
你可以參考我的例子:
FileInputStream in = new FileInputStream(new File("D:\\Users\\Administrator\\Desktop\\1.txt"));
FileOutputStream out = new FileOutputStream(new File("D:\\Users\\Administrator\\Desktop\\2.txt"));
try
{
int byteread = 0; // 讀取的位元組數
byte[] buffer = new byte[1024];
while ((byteread = in.read(buffer)) != -1) {
out.write(buffer, 0, byteread);
}
}catch (Exception e)
{
e.printStackTrace();
}finally {
in.close();
out.close();
}
H. java 中inputstream 和outputstream 怎麼進行文件的讀取寫入的
你可以這樣理解:
FileInputStream in = new FileInputStream("E:\\a.zip");
FileInputStream 顧名思義,就是寫入。這句話將a.zip做編碼後放到in,要用a.zip的時候就使用in讀出來。
FileOutputStream os = new FileOutputStream("e:\\b.zip");
FileOutputStream顧名思義,就是讀出,讀出的話就要指定讀出的目的地,e:\\b.zip便是目的地。
while(in.read(bt) != -1)
{
os.write(bt);
}
這段代碼就是從in中讀出編碼後的文件內容,然後通過os寫入b.zip.
I. java裡面InputStream類型轉換成String類型怎麼實現
java裡面InputStream類型轉換成String類型,主要是通過讀入文件的字元,拼接成String類型,如下代碼:
InputStreamis=newFileInputStream("D://123.txt");
inti=0;
while((i=is.read())!=-1){
System.out.print((char)i);//輸出char類型
}
得到的char一個一個接起來就是string
J. java如何用inputstream從鍵盤輸入數字 然後存到一個數組裡面
首先我先說明一下,System.in就是inputstream類,你可以通過查看System類,就能找到in這個對象,見下圖。由於inputstream類是抽象類,所以不能實例化對象的,所以需要使用Scanner來輔助實現。我附上程序源碼和運算的結果圖。供你參考。