国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Java 輸入/輸出

2019-11-17 04:10:31
字體:
供稿:網(wǎng)友

java語言中,I/O的方式是流的方式。流(stream)這是個學(xué)習(xí)java輸入輸出的最基本的概念。流是字節(jié)從源到目的的有序序列。一方面是字節(jié),一方面是有序的。流描述的是一個過程,順序嚴(yán)格。一個需要鍵盤輸入的程序可以用流來做到這一點(diǎn)。兩種基本的流是:輸入流和輸出流。你可以從輸入流讀,但你不能對它寫。要從輸入流讀取字節(jié),必須有一個與這個流相關(guān)聯(lián)的字符源。這些東西都放在java.io.*這個包里了。io是java的第一大包。在java.io 包中,有一些流是結(jié)點(diǎn)流,即它們可以從一個特定的地方讀寫,例如磁盤或者一塊內(nèi)存。其他流稱作過濾流。一個過濾器輸入流是用一個到已存在的輸入流的連接創(chuàng)建的。此后,當(dāng)你試圖從過濾輸入流對象讀時,它向你提供來自另一個輸入流對象的字符。
常見的幾種流:
字節(jié)流:傳字節(jié)的。以8位字節(jié)為單位進(jìn)行讀寫,以InputStream與OutputStream為基礎(chǔ)類
字符流: 傳字符的。以16位字符為單位進(jìn)行讀寫,以Reader與Writer為基礎(chǔ)類
文件流: 傳文件的。屬于節(jié)點(diǎn)流,對文件讀寫,傳輸。里面的類很多。
序列化:傳對象的。一個對象怎么讀啊,只有變成二進(jìn)制才可以讀,這就是序列化。
實(shí)踐: //這是一個字節(jié)流的例子,以InputStream與OutputStream為基礎(chǔ)類
import java.io.*;
class ByteArrayOutputStreamDemo {
public static void main(String args[]) throws IOException {
ByteArrayOutputStream f = new ByteArrayOutputStream();
String s = "This should end up in the array";
byte buf[] = s.getBytes();
f.write(buf);
System.out.System.out.println(f.toString());
System.out.println("Into array");
byte b[] = f.toByteArray();

for (int i=0; i<b.length; i++) {
System.out.print((char) b[i]);}
System.out.println("/nTo an OutputStream()");
//輸出到文件test.txt中
OutputStream f2 = new FileOutputStream("test.txt");
f.writeTo(f2);
f2.close();
System.out.println("Doing a reset");
f.reset();
for (int i=0; i<3; i++)
f.write('X');
System.out.println(f.toString());}}
//字符流的例子,以Reader與Writer為基礎(chǔ)類
import java.io.*;
public class CharArrayReaderDemo {
public static void main(String args[]) throws IOException {

String tmp = "abcdefghijklmnopqrstuvwxyz";
int length = tmp.length();
char c[] = new char[length];
tmp.getChars(0, length, c, 0);
CharArrayReader input1 = new CharArrayReader(c);
CharArrayReader input2 = new CharArrayReader(c, 0, 5);

int i;
System.out.println("input1 is:");
while((i = input1.read()) != -1) {
System.out.print((char)i);}
System.out.println();
System.out.println("input2 is:");
while((i = input2.read()) != -1) {
System.out.print((char)i);}
System.out.println();
}}
//文件流的例子
import java.io.*;
class FileInputStreamDemo {
public static void main(String args[]) throws Exception {
int size;
InputStream f =
new FileInputStream("FileInputStreamDemo.java");
System.out.println("Total Available Bytes: " +
(size = f.available()));
int n = size/40;
System.out.println("First " + n +
" bytes of the file one read() at a time");
for (int i=0; i < n; i++) {
System.out.print((char) f.read());
}
System.out.println("/nStill Available: " + f.available());
System.out.println("Reading the next " + n +
" with one read(b[])");
byte b[] = new byte[n];
if (f.read(b) != n) {
System.err.println("couldn't read " + n + " bytes.");
}
System.out.println(new String(b, 0, n));
System.out.println("/nStill Available: " + (size = f.available()));
System.out.println("Sk
ipping half of remaining bytes with skip()");
f.skip(size/2);
System.out.println("Still Available: " + f.available());
System.out.println("Reading " + n/2 + " into the end of array");
if (f.read(b, n/2, n/2) != n/2) {
System.err.println("couldn't read " + n/2 + " bytes.");
}
System.out.println(new String(b, 0, b.length));
System.out.println("/nStill Available: " + f.available());
f.close();
}
}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 北海市| 普格县| 达拉特旗| 乌鲁木齐县| 江陵县| 焦作市| 黎川县| 九寨沟县| 肥城市| 乌鲁木齐市| 会同县| 安西县| 沧州市| 杭锦旗| 五原县| 五寨县| 运城市| 敖汉旗| 家居| 六枝特区| 沅江市| 吕梁市| 岳池县| 庆元县| 潼关县| 遵义县| 深圳市| 宝鸡市| 滨州市| 东源县| 阳山县| 东源县| 阿图什市| 白银市| 沙雅县| 铜鼓县| 贵阳市| 武义县| 临湘市| 杭锦后旗| 衡阳市|