new FileInputStream(file)中file不能为文件夹
今天闲来无事,写了如下程序:
package com.xhj.test; import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream; /**
* 将java文件夹下的.java文件复制到.jad文件夹中,并将.java文件改成.jad文件
* @作者 admin
*/
public class Java2jad
{
public static void main(String[] args) throws IOException{
File srcfile = new File("d:/java");
if(srcfile.exists()&&srcfile.isDirectory()){
File[] files = srcfile.listFiles(new FileFilter()
{
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".java");
}
});
File dirfile = new File("d:/jad");
if(!dirfile.exists()||!dirfile.isDirectory()){
dirfile.mkdir();
}
for(File file:files){
FileInputStream fis = new FileInputStream(file);
String destfilename = file.getName().replaceAll("\\.java$", "\\.jad");
FileOutputStream fos = new FileOutputStream(new File(dirfile,destfilename));
copyFile(fis,fos);
fis.close();
fos.close();
}
}
} public static void copyFile(InputStream is,OutputStream os) throws IOException{
int len = 0;
byte[] buffer = new byte[1024];
while((len = is.read(buffer)) != -1){
os.write(buffer,0,len);
}
}
}
功能是将java文件夹下的.java文件复制到jad文件夹中并将文件后缀改为.jad,为了测试程序,我在d盘下建立了java文件夹,
并在其中建了1.java文件夹,2.txt文件和3.java。编译执行程序,出现如下错误:
Exception in thread "main" java.io.FileNotFoundException: d:\java\1.java (拒绝访问。)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at com.xhj.test.Java2jad.main(Java2jad.java:32)
上网查了一下,new FileInputStream(file)中的file不能为文件夹,所以删除了1.java文件夹。
这样问题就成功解决了。
new FileInputStream(file)中file不能为文件夹的更多相关文章
- AIR 中的 File 对象 所访问的文件夹位置
AIR 中的 File 对象 所访问的文件夹位置 Link 关于File.cacheDirectory的一点说明 According to the Apple guidelines, data tha ...
- JAVA中比较两个文件夹不同的方法
JAVA中比较两个文件夹不同的方法,可以通过两步来完成,首先遍历获取到文件夹下的所有文件夹和文件,再通过文件路径和文件的MD5值来判断文件的异同.具体例子如下: public class TestFo ...
- asp 中创建日志打印文件夹
string FilePath = HttpRuntime.BinDirectory.ToString(); string FileName = FilePath + "日志" + ...
- win10 删除资源管理器中的6个文件夹
细心的朋友会发现,在Win10此电脑(计算机)中,除了我们最熟悉的磁盘外,还新增了视频.图片.文档.下载.音乐.桌面这6个文件夹.不少网友举觉得这6个文件夹其实并没什么用,想要去除删掉.那么Win10 ...
- 解决VS2010中产生的ipch文件夹和sdf文件
纯粹参考他人博文,转载时注明参考链接!!! 参考链接: http://blog.sina.com.cn/s/blog_707a4cbf0100r5jq.html 在VS2010开发的项目中,ipch文 ...
- 在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YM
题目补充: 在存放源程序的文件夹中建立一个子文件夹 myPackage.例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage).在 m ...
- Unity中一键创建常用文件夹
Unity中一键创建常用文件夹 说明 项目测试版本Unity5.3. 这个一个小工具:功能非常简单,就是一键给新建工程添加所有文件夹.到此结束. 但是具体咋操作呢? 与把大象装进冰箱一样,三步,下载代 ...
- Unity中所有特殊的文件夹
1. 隐藏文件夹以.开头的文件夹会被Unity忽略.在这种文件夹中的资源不会被导入,脚本不会被编译.也不会出现在Project视图中.2. Standard Assets在这个文件夹中的脚本最先被编译 ...
- 【问题解决方案】Linux中进入目录下文件夹
win系统中直接 cd+空格+文件夹名 Linux下 cd+空格+./+文件名 其中句点表示"当前目录" 除非在根目录不加,或者把路径写全用绝对路径进入 Linux下切换路径的相关 ...
- C#中FolderBrowserDialog类打开文件夹使用说明
C#中FolderBrowserDialog类打开文件夹使用说明 作用:打开文件选择窗口获取文件夹路径. 导入的命名空间为: System.Windows.Forms; 属性: Descr ...
随机推荐
- 软工实践-Beta 冲刺 (3/7)
队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 1.界面的修改与完善 展示GitHub当日代码/文档签入记 ...
- Unity3D游戏开发——物品存储:List与Dictionary
本篇简介 本文介绍如何将碰撞处理后的物体存储在管理器中,分别用到两种不同的数据结构--List和Dictionary.我们将继续在上一篇博客的编程基础上进行完善. List和Dictionary的区别 ...
- mongo学习1 (转)
关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中“集合” 就是对应关系数据库中的“表”,“文档”对应“行”. 一: 下载 上Mon ...
- Support for SSL/TLS protocols on Windows
https://blogs.msdn.microsoft.com/kaushal/2011/10/02/support-for-ssltls-protocols-on-windows/ Support ...
- es6 很简单
es6出了许多好的,优秀的特性.下面列举一些常用的 其实这些特性都很好理解,一两句话就可以表达出来看.主要是对旧的写法的一种改进. function 加了一些语言糖,传参更方便 class ...
- logback错误日志发送邮件
logback 一.介绍 logback是由log4j的作者开发的一个开源日志组件,用以替代log4j. logback由3个部分组成: ♦ logback-core (基础模块) ♦ logback ...
- Java的StringBuIlder扩容机制
JDK 1.6中,扩容的源码是这样: void expandCapacity(int minimumCapacity) { int newCapacity = (value.length + 1) * ...
- 【JavaScript】table里面点击某td获取同一行tr的其他td值
某td的input(保存按钮)上绑定方法,点击按钮保存该行所有数据 function locationedit(num){ var ordernumber = $("#"+num) ...
- P2231 [HNOI2002]跳蚤
题目描述 Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正中央.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤发一张卡片.卡片上写有N+1个自然数.其中最 ...
- Charles的HTTPS抓包方法及原理分析
原文地址:http://www.jianshu.com/p/870451cb4eb0 背景 作为移动平台的RD,项目开发过程中一项比较重要的甩锅技能——抓包应该大家都比较熟悉了,毕竟有些bug可能是由 ...