一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java進行文件讀寫操作詳解

java進行文件讀寫操作詳解

2019-12-03 14:08hebedich JAVA教程

這篇文章主要介紹了java進行文件讀寫操作詳解的相關資料,需要的朋友可以參考下

直接上代碼,有詳細注釋,有圖解,相信你懂得!

 

復制代碼代碼如下:

package day14;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Random;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;

public class TestFileIO {
static String s = File.separator;

private static void testInput() {
// D盤下有個Welcome.java文件,現(xiàn)在按字節(jié)讀入:
int a = 0;
// int counter=0;
FileInputStream f11;
// 輸入流
try {
f11 = new FileInputStream("D:" + s + "Welcome.java");
while ((a = f11.read()) != -1)
System.out.print((char) a); // 這里是按字節(jié)輸出,中文字符無法正常輸出,因為一個中文字符時兩個字節(jié)。
System.out
.println("\n\n--------------------------------------------------\n");

FileReader f12 = new FileReader("D:" + s + "Welcome.java");
while ((a = f12.read()) != -1)
System.out.print((char) a);// 這里是按字符輸出,中文字符都可以正常輸出
System.out
.println("\n\n--------------------------------------------------\n");

f11.close();// 讀完之后要關閉文件
f12.close();// 讀完之后要關閉文件
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

private static void testOutput() {
// D盤下有個Welcome.java文件,現(xiàn)在按字節(jié)讀入:
int a = 0;
// 輸出流
File f21 = new File("D:" + s + "testFile" + s + "test1.txt");// 定義一個新的文件f21,然后判斷在這一目錄下是否存在,如果不存在,則創(chuàng)建之。
if (!f21.exists()) {
f21.getParentFile().mkdirs();
try {
f21.createNewFile();
// 將“Welcome.java”的內(nèi)容復制到f21
FileOutputStream fos = new FileOutputStream(f21);
FileInputStream fis = new FileInputStream("D:" + s
+ "Welcome.java");// 讀入“Welcome.java”文件
while ((a = fis.read()) != -1)
fos.write(a);// 將讀入的內(nèi)存寫到fos中,現(xiàn)在得到的test1。txt就是復制Welcome。java的

// writer類
FileWriter f22 = new FileWriter("D:" + s + "testFile" + s
+ "test2.txt");
for (int i = 0; i < 65535; i++)
f22.write(i);// 將
// 寫入到test2.txt中。由這里也可以看出,上面35-38行判斷文件是否存在的語句也可以不要。
// 向文件中寫入字符串
FileWriter f23 = new FileWriter("D:" + s + "testFile" + s
+ "test3.txt");
f23.write("Hello, world!");

fos.close();
fis.close();
f22.close();
f23.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

private static void testBufferring() {
// D盤下有個Welcome.java文件,現(xiàn)在按字節(jié)讀入:
int a = 0, counter = 0;
// 緩沖字符,實現(xiàn)高效寫入
// BufferedWriter f31=new BufferedWriter(new
// FileWriter("D"+s+"testFile"+s+"test4.txt"));
BufferedWriter f31;
try {
f31 = new BufferedWriter(new FileWriter("D:" + s + "testFile" + s
+ "test4.txt"));
for (int i = 1; i <= 100; i++) {
f31.write(String.valueOf(new Random().nextInt(100)) + " ");
if (i % 10 == 0)
f31.newLine();
}
f31.flush();// 刷新緩沖
f31.close();

BufferedReader f32 = new BufferedReader(new FileReader("D:" + s
+ "testFile" + s + "test4.txt"));
String s32;
System.out.println("輸出文件f32的內(nèi)容:");
while ((s32 = f32.readLine()) != null)
System.out.println(s32);
f32.close();
System.out
.println("\n--------------------------------------------------\n");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

private static void testZip() {
try {
File f1 = new File("D:/test.zip");
File f2 = new File("D:/testFile/testzip");
ZipFile zf = new ZipFile(f1);
testZipToUnzip(zf, f2);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

// 將壓縮包zipfile解壓到file中
public static void testZipToUnzip(ZipFile zipfile, File file) {
ZipEntry zentry = null;
File zipout;
InputStream zis = null;
FileOutputStream fos = null;
Enumeration e = zipfile.entries();// zipfile的目錄

while (e.hasMoreElements()) {
zentry = (ZipEntry) e.nextElement();
System.out.println(zentry.getName());// zipfile下有哪些文件?可是為什么不按順序輸出??

// 將解壓后的文件放到file文件夾下:
zipout = new File(file + s + zentry.getName());

if (!zentry.isDirectory()) {
try {
zis = zipfile.getInputStream(zentry);
if (!zipout.exists())
zipout.getParentFile().mkdirs();
fos = new FileOutputStream(zipout);
byte[] b = new byte[1024];
int length;
while ((length = zis.read(b)) > 0) {
fos.write(b, 0, length);
}
fos.close();
zis.close();
} catch (ZipException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}

public static void main(String[] args) throws ZipException {
// TODO Auto-generated method stub

testInput();
testOutput();
testBufferring();
testZip();
}
}

 

java進行文件讀寫操作詳解



 java進行文件讀寫操作詳解



 java進行文件讀寫操作詳解

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费网站看v片在线成人国产系列 | 国产日韩高清一区二区三区 | free service性v极品 | 欧美一区a | 午夜私人影院在线观看 | 美女主播免费观看 | 色久激情 | 国产精品林美惠子在线观看 | 国产特黄一级一片免费 | 精品国产91高清在线观看 | 国产三级跑 | 性欧美13处丶14处 | 日韩一区在线观看 | 美女被草漫画 | 性插图动态图无遮挡 | 国产精品区一区二区免费 | 精品欧美一区二区三区久久久 | 日韩在线毛片 | 丝袜兔女郎被啪在线观看91 | 日韩一级欧美一级一级国产 | 美女扒开胸罩露出奶了无遮挡免费 | 亚洲AV无码国产精品午夜久久 | 久久国产精品福利影集 | 2021精品国夜夜天天拍拍 | 亚洲国产中文字幕在线视频综合 | 成年人福利 | 青青草原在线 | 91真人毛片一级在线播放 | 美女撒尿无遮挡免费中国 | 日本免费三片在线观看 | 2021国产麻豆剧传媒剧情 | av在线亚洲男人的天堂 | 成免费视频 | 国产精品久久国产精品99 gif | 久久99国产综合精品AV蜜桃 | 免费国产在线视频 | 日本片免费观看一区二区 | 久久亚洲高清观看 | 99ri国产精品 | 99ri在线精品视频 | 久操久操久操 |