FileInputStream 文件拒绝访问问题

纤芊_fish 2008-09-26 03:07:11
为什么使用FileInputStream时,显示拒绝访问,代码如下:

FileInputStream inputFile;

inputFile = new FileInputStream("c:\\Documents and Settings");

错误:
java.io.FileNotFoundException: c:\Documents and Settings (拒绝访问。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at cn.edu.ynu.sei.classifier.bayes.BayesClassifier.<init>(BayesClassifier.java:74)
at jiyi.main(jiyi.java:8)
我尝试过把这个路径改成其他的,但是都不行啊,这个是为什么啊?
...全文
2671 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZXEOC 2008-09-26
  • 打赏
  • 举报
回复 1
不能是文件夹,必须是具体的文件,如果你想让程序新建一个文件需要加几条语句
hiruko 2008-09-26
  • 打赏
  • 举报
回复
debug一下,应该就是“\\”的问题
kenshinlou 2008-09-26
  • 打赏
  • 举报
回复
FileInputStream: 通过打开一个到实际文件的连接来创建一个 FileInputStream

所以目录是会报错的。。。
dryZeng 2008-09-26
  • 打赏
  • 举报
回复
你这是访问文件还是文件夹啊?
wangxiubin_0 2008-09-26
  • 打赏
  • 举报
回复
FileInputStream(File file)参数应该是个具体的文件吧,要不如何写数据?
kString 2008-09-26
  • 打赏
  • 举报
回复
路径不对,你指向的是文件夹不是文件。
纤芊_fish 2008-09-26
  • 打赏
  • 举报
回复
还是不行哦~~
liaoyi_ipanel 2008-09-26
  • 打赏
  • 举报
回复
将\\换成/试试
package com.hexiang.utils; import java.io.*; import java.util.*; import java.util.zip.Adler32; import java.util.zip.CheckedInputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; public class ZipUtils { private static final int BUFFER = 8192; private static void log(String msg){ System.out.println (msg); } private static String getFileName(String filePath){ int index = filePath.indexOf("."); return filePath.substring(0, index); } @SuppressWarnings("unused") private static String getRootPath(String filePath){ int index = filePath.indexOf("."); return filePath.substring(0, index); } public static void zip(String sourceFilePath){ File fileDir = new File(sourceFilePath); if(fileDir.exists()){ log(fileDir.getPath()+" Starting Zip ..."); long startTime = System.currentTimeMillis(); doZip(fileDir); long endTime = System.currentTimeMillis(); long costTime = endTime - startTime; log("Zip Success!"); log("use time -- "+costTime+" millsec!"); }else{ log("can't find the File!"); } } public static void unZip(String zipFilePath){ File fileDir = new File(zipFilePath); if(fileDir.exists()){ log(fileDir.getPath()+" Starting UnZip ..."); long startTime = System.currentTimeMillis(); doUnZip(fileDir); long endTime = System.currentTimeMillis(); long costTime = endTime - startTime; log("UnZip Success!"); log("use time -- "+costTime+" millsec!"); }else{ log("can't find the File!"); } } public static void doZip(File file){ List fileList = new ArrayList(); List allFiles = (ArrayList)searchFiles(file.getPath(), fileList); Object[] fileArray = allFiles.toArray(); BufferedInputStream in = null; FileInputStream fis = null; ZipOutputStream zos = null; FileOutputStream fos = null; try { fos = new FileOutputStream(file.getParent()+File.separator+file.getName()+".zip"); zos = new ZipOutputStream(new BufferedOutputStream(fos, BUFFER)); zos.setLevel(9); byte[] data = new byte [BUFFER]; for (int i = 0; i文件入口entry,为被读取的文件创建压缩条目 File tempFile = new File(fileArray[i].toString()); String rootStr = file.getPath(); String entryStr = null; // entry以相对路径的形式设置。以文件夹C:\temp例如temp\test.doc或者test.xls 如果设置不当,会出现拒绝访问等错误 // 分别处理单个文件/目录的entry if(rootStr.equals(tempFile.getPath())){ entryStr = tempFile.getName(); }else{ entryStr = tempFile.getPath().substring((rootStr+File.separator).length()); } log(entryStr); ZipEntry entry = new ZipEntry(entryStr); zos.putNextEntry(entry); fis = new FileInputStream(tempFile); in = new BufferedInputStream(fis, BUFFER); int count; while((count = in.read(data, 0, BUFFER)) != -1){ zos.write(data, 0, count); } } } catch (Exception ex) { ex.printStackTrace(); }finally{ try{ if(in != null){ in.close(); } if(zos != null){ zos.close(); } }catch (Exception e) { e.printStackTrace(); } } } public static void doUnZip(File file){ try{ final int BUFFER = 2048; BufferedOutputStream dest = null; FileInputStream fis = new FileInputStream(file); CheckedInputStream checksum = new CheckedInputStream(fis,new Adler32()); ZipInputStream zis = new ZipInputStream(new BufferedInputStream(checksum)); ZipEntry entry; while((entry = zis.getNextEntry()) != null){ log("Extracting: "+entry); int count; byte[] data = new byte[BUFFER]; log("unzip to "+getFileName(file.getPath())); FileOutputStream fos = new FileOutputStream(getFileName(file.getPath())+File.separator+newDir(file, entry.getName())); dest = new BufferedOutputStream(fos, BUFFER); while((count = zis.read(data, 0, BUFFER)) != -1){ dest.write(data, 0, count); } dest.flush(); dest.close(); } zis.close(); System.out.println("Checksum: "+checksum.getChecksum().getValue()); }catch(Exception e){ e.printStackTrace(); } } public static List searchFiles(String sourceFilePath, List fileList){ File fileDir = new File(sourceFilePath); if(fileDir.isDirectory()){ File[] subfiles = fileDir.listFiles(); for(int i = 0; i

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧