for(int i = 0 str != null &&i<str.lengthi++)
list()方法可能返回null,如果你某个目录中为袭核培拍唯空,没有子目录,没有其他文件,就返回空,则会出现nullPointerException,而这些出现异常时的文件,都是系统中不存在的(氏伏不是隐藏的文件,也不是系统保护的文件。)
个人认为,这些文件是跟回收站有关的,往往这种文件都是禁止外界访问的,导致File指向null对象,就抛出空指针异常。所以加个if判断是否为null.比如
public void showSubFile(File f)
{
File[] fs = f.listFiles()
if(fs != null) //看这里,看这里,看这里
for(int i=0i<fs.lengthi++)
{
File temp = fs[i]
if(temp.isFile())
{
System.out.println(temp.getName())
}
else
{
showSubFile(temp)
}
}
}
这样不会出现问题
Java是通过使用I/O文件 *** 作类,创建输入输出流,将数据保存在指定的路径下的文件里面。示例代码:
import java.io.File
import java.io.FileOutputStream
import java.io.IOException
public class WriteFileTest {
public static void main(String[] args) {
FileOutputStream fop = null
File file
String content = "绝亮明This is the text content"
try {
file = new File("D:/test.txt")//初始化file
fop = new FileOutputStream(file)//初始化输出流
// 若文件不存在,则创建它
if (!file.exists()) {
file.createNewFile()
}
/并告/ 获取字节的内容数组
byte[] contentInBytes = content.getBytes()
fop.write(contentInBytes)//写键陵出到指定路径文件中字节的内容数组
fop.flush()
fop.close()
System.out.println("Done")
} catch (IOException e) { //捕捉异常
e.printStackTrace()
} finally {
try {
if (fop != null) {
fop.close()
}
} catch (IOException e) { //捕捉异常
e.printStackTrace()
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)