java文件流输入FileInputStream类中如何判断文件打开是不是成功
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java文件流输入FileInputStream类中如何判断文件打开是不是成功相关的知识,希望对你有一定的参考价值。
比如
FileInputStream inFile;
inFile=new FileInputStream("c:\\java\\nan.txt);
如何判断文件打开是否成功?
//1.写入属性
//import java.io.*;
File filereadonly=new File(str1);
try
boolean b=filereadonly.setReadOnly();
catch (Exception e)
System.out.println("拒绝写访问:"+e.printStackTrace());
//2.读取文件
//import java.io.*;
// 逐行读取数据
FileReader fr = new FileReader(str1);
BufferedReader br = new BufferedReader(fr);
String str2 = br.readLine();
while (str2 != null)
str3
str2 = br.readLine();
br.close();
fr.close();
//3.移动文件夹
//import java.io.*;
//import java.util.*;
LinkedList<String> folderList = new LinkedList<String>();
folderList.add(str1);
LinkedList<String> folderList2 = new LinkedList<String>();
folderList2.add(str2 + str1.substring(str1.lastIndexOf("\\")));
while (folderList.size() > 0)
(new File(folderList2.peek())).mkdirs(); // 如果文件夹不存在 则建立新文件夹
File folders = new File(folderList.peek());
String[] file = folders.list();
File temp = null;
try
for (int i = 0; i < file.length; i++)
if (folderList.peek().endsWith(File.separator))
temp = new File(folderList.peek() + File.separator + file[i]);
else
temp = new File(folderList.peek() + File.separator + file[i]);
if (temp.isFile())
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(
folderList2.peek() + File.separator + (temp.getName()).toString());
byte[] b = new byte[5120];
int len;
while ((len = input.read(b)) != -1)
output.write(b, 0, len);
output.flush();
output.close();
input.close();
if (!temp.delete())
System.out.println("删除单个文件操作出错!");
if (temp.isDirectory()) // 如果是子文件夹
for (File f : temp.listFiles())
if (f.isDirectory())
folderList.add(f.getPath());
folderList2.add(folderList2.peek() + File.separator + f.getName());
catch (Exception e)
// System.out.println("复制整个文件夹内容操作出错");
e.printStackTrace();
folderList.removeFirst();
folderList2.removeFirst();
File f = new File(str1);
if (!f.delete())
for (File file : f.listFiles())
if (file.list().length == 0)
System.out.println(file.getPath());
file.delete();
参考技术A 也就是判断文件是否存在?
可以先实例一个File对象!方法exist()检查File是否存在!!
例如:
File file=new File(("c:\\java\\nan.txt");
if(file.exist())FileInputStream inFile=new FileInputStream(file);本回答被提问者和网友采纳 参考技术B 也就是判断文件是否存在?
可以先实例一个File对象!方法exist()检查File是否存在!!
例如:
File file=new File(("c:\\java\\nan.txt");
if(file.exist())FileInputStream inFile=new FileInputStream(file); 参考技术C
你应该问的是文件是否存在吧??
//判断文件是否存在
if(file.exists)
FileInputStream fis=new FileInputStream(file);
参考技术D try
InputStreamReader isr = new InputStreamReader(new FileInputStream("*.*"));
catch (FileNotFoundException e)
// TODO Auto-generated catch block
e.printStackTrace();
Java中的输入输出流
FileInputStream和FileOutputStream
创建含磁盘文件的输入 输出流对象。
FileInputStream继承自InputStream,用于读取本地文件中的字节数据,由于所有的文件都是字节为导向,所以这个类适合于操作任何类型的文件。
构造方法:
实例:FileInputStream fileInputStream = new FileInputStream(new File("path"));
其他方法:
read()方法:从输入流中读取最多b.length个字节的数据存入一个byte数组中,返回剩余待读取的字节长度。
FileOutputStream继承自OutputStream,可以指定还不存在的文件名,但是不能指定一个已经被其他程序打开的文件。
实例:FileOutputStream fileOutputStream = new FileOutputStream(new File("existornotexistpath"));
实例:fileOutputStream.write("String".getByte());//将字符串转换为字节数组并写入输出流中。
ByteArrayInputStream
继承自InputStream,ByteArrayInputStream
包含一个内部缓冲区,该缓冲区包含从流中读取的字节。内部计数器跟踪 read
方法要提供的下一个字节。
其他方法:
ByteArrayOutputStream
继承自OutputStream,此类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray()
和 toString()
获取数据。
其他方法:
以上是关于java文件流输入FileInputStream类中如何判断文件打开是不是成功的主要内容,如果未能解决你的问题,请参考以下文章