这篇文章主要讲解了“Java中inputstream和outputstream的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中inputstream和outputstream的用法”吧!
计算机在进行I/O时都是以流的形式来进行,Java中所有流的相关操作的类,都继承自以下四个抽象类。
输入流 | 输出流 | |
字节流 | InputStream | OutputStream |
字符流 | Reader | Writer |
InPutStream的实现
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
public class TestFileInPutStream {
public static void main(String[] args) {
try {
File file = new File("D:/test/testIO.java");
// 如果文件存在,读取文件中的内容,并在控制台输出
if (file.exists()) {
InputStream in = new FileInputStream(file);
int a = 0;
while ((a = in.read()) != -1) {
System.out.print((char) a);
}
in.close();
} else {
// 如果文件不存在返回文件不存在
System.out.println("文件不存在");
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
在D盘已经存在testIO文件如下:
将文件中的内容输出到控制台,结果如下:
OutPutStream的实现
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class TestOutPutStream {
private static InputStream in;
private static OutputStream out;
public static void main(String[] args) {
try {
in = new FileInputStream("D:/test/testIO.java");
if(in == null){
//原文件不存在
System.out.println("原文件不存在");
}else{
//原文件存在,判断目标文件是否存在
File file = new File("D:/test/testIOO.txt");
if(!file.exists()){
//目标文件不存在,创建目标文件
file.getParentFile().mkdirs();
file.createNewFile();
}
//将原文件内容读取到目标文件
out = new FileOutputStream(file);
int a = 0;
while((a = in.read()) != -1){
out.write(a);
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//流关闭
try {
if(in != null){
in.close();
}
if(out != null){
out.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
D盘中原文件存在,在D盘中创建了目标文件
注意:在判断原文件是否存在时,直接判断字节流文件对象是否存在
感谢各位的阅读,以上就是“Java中inputstream和outputstream的用法”的内容了,经过本文的学习后,相信大家对Java中inputstream和outputstream的用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。