在java中如何把一个文件放到指定的文件夹中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中如何把一个文件放到指定的文件夹中相关的知识,希望对你有一定的参考价值。
首先获得fileoutput对象时,写入具体的目录就可以了。比如:你要写入到d:\java\test目录下。
方法一:
java代码
string
name
=
"out.html";
string
dir
=
"d:\\java\\test";
file
file
=
new
file(dir,name);
fileoutputstream
out
=
new
fileoutputstream(file);
方法二:
java代码
fileoutputstream
out
=
new
fileoutputstream(dir+"\\"+name); 参考技术A InputStream is=new FileInputStream("源文件路径");
OutputStream os=new FileOutputStream("目标文件路径");
byte[] buffer=new byte[1024];
int len=0;
while((len=is.read(buffer))!=-1)
os.write(buffer, 0, len);
os.close();
is.close();本回答被提问者采纳 参考技术B new java.io.File("source path").renameTo( new java.io.File("target path")); 参考技术C File newfile=new File(dir+"/"+fname);
oldfile.renameTo(newfile);
把src目录下的java类文件打成jar包放到web-inf下的lib里,classes文件删除
把src目录下的java类文件打成jar包然放到web-inf下的lib里,把web-inf下的classes文件删除,然后把整个项目部署到tomcat6.x下运行不成功,该怎么解决?
你把jar里的同名文件删除不就好啦。--------------------------------------
如果是发布到weblogic的话,可以在WebContent\WEB-INF\weblogic.xml里面配置。
参考配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns=""
xmlns:xsi=""
xsi:schemaLocation=" ">
<container-descriptor>
<!-- 修改JVAV类后不会自动重启 在debug模式下 修改方法内逻辑也不用重启,但是改变方法参数等需要重启才管用 -->
<servlet-reload-check-secs>-1</servlet-reload-check-secs>
<!-- <resource-reload-check-secs>-1</resource-reload-check-secs>
<!-- web-inf/classes里面优于lib加载 -->
<prefer-web-inf-classes>true</prefer-web-inf-classes> -->
</container-descriptor>
<!-- URL根路径 -->
<context-root></context-root>
<jsp-descriptor>
<!-- 查看(调试)JSP编译生成的java源文件 \servers\AdminServer\tmp\_WL_user\webapp\XXX\jsp_servlet\_jsp\_ -->
<keepgenerated>true</keepgenerated>
<!-- 修改JSP后不要重启服务就自动加载-->
<page-check-seconds>1</page-check-seconds>
</jsp-descriptor>
</weblogic-web-app>
-----------------------------------------------------------------
Tomcat启动时classloader加载顺序
Tomcat的class加载的优先顺序一览
1.最先是$JAVA_HOME/jre/lib/ext/下的jar文件。
2.环境变量CLASSPATH中的jar和class文件。
3.$CATALINA_HOME/common/classes下的class文件。
4.$CATALINA_HOME/commons/endorsed下的jar文件。
5.$CATALINA_HOME/commons/i18n下的jar文件。
6.$CATALINA_HOME/common/lib 下的jar文件。
(JDBC驱动之类的jar文件可以放在这里,这样就可以避免在server.xml配置好数据源却出现找不到JDBC Driver的情况。)
7.$CATALINA_HOME/server/classes下的class文件。
8.$CATALINA_HOME/server/lib/下的jar文件。
9.$CATALINA_BASE/shared/classes 下的class文件。
10.$CATALINA_BASE/shared/lib下的jar文件。
11.各自具体的webapp /WEB-INF/classes下的class文件。
12.各自具体的webapp /WEB-INF/lib下的jar文件。
Tomcat的应该也有相关配置,去别的地方查查看,我这边没有资料
追问
我用的是tomcat的,就是查了很多资料都没找到这方面的配置,jar包是不相同的,在tomcat下能够部署成功,classes里的文件要删除的,但是tomcat加载的时候似乎没加载我放在 /WEB-INF/lib下的jar文件
参考技术A 第一步:选中项目,选择“export”,之后选择java下的“jar file”;第二步:选择“next”,之后勾选上需要打包的“java”文件,之后选择“browse”;
第三步:选择保存位置和相应的文件名,之后选择“Finsh”,即可完成打包操作;
第四步:找到打包的jar文件,复制到lib下;
第五步:必须删除刚才打包的java文件,之后classes路径下的编译文件会自动被删除。
备注:如果单纯的删除classes下的class文件是没效果的,因为只要项目下有java文件,即使删除class文件,之后还会自动进行编译的。 参考技术B java运行的是class文件,直接把java类文件打包肯定是不行的 ,jar包是通过编译编译出来的包追问
那有什么方法能让它运行呢?
追答如果是可运行的程序的话 直接部署到tomcat下,我只知道在myeclipse下部署程序的话,可以通过build path那个选项把jar包导入,运行自动编译class类
追问现在的问题是:运行时没有自动编译成class类,该怎么解决?
追答那肯定是项目没有在tomcat下部署成功 你可以在tomcat下启动 看看是否加载po类 如果没有的话,说明项目没有在tomcat下部署成功 你在tomcat的这个路径下apache-tomcat-6.0.18\conf\Catalina\localhost 新建一个xml文件 文件名是"项目名称.xml" 内容是
其中项目名称改成 你项目的名称 docBase是你项目的位置 根据你自己的情况配置一下 直接可以在tomcat中启动项目 然后看看是否加载po
没有任何错误,tomcat能够正常启动,就是项目不能访问,只显示登录页面,项目是用struts2做的
参考技术D 换个以上是关于在java中如何把一个文件放到指定的文件夹中的主要内容,如果未能解决你的问题,请参考以下文章