java中读取文件提示找不到指定路径???

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

public class FileCombine {

public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub
    FileManager afilemg = new FileManager("a.txt",new char[]{'\n'});
    FileManager bfilemg = new FileManager("b.txt",new char[]{'\n',' '});
    FileWriter cfile = new FileWriter("c.txt");
    String aword = null;
    String bword = null;
    while((aword = afilemg.nextWord())!=null){
        cfile.write(aword+"\n");
        bword = bfilemg.nextWord();
        if(bword != null)
            cfile.write(bword+"\n");
    }
    while((bword = bfilemg.nextWord()) != null)
        cfile.write(bword);
    cfile.close();
}

}

class FileManager{
String[] words = null;
int pos = 0;
public FileManager(String filename, char[]separators)throws Exception{
File f = new File(filename);
FileReader reader = new FileReader(f);
char[] buf = new char[(int)f.length()];
int len = reader.read(buf);
reader.close();
String result = new String(buf,0,len);
String regex = null;
if(separators.length>1)
regex = ""+separators[0]+"|"+separators[1];
else regex = ""+separators[0];
words = result.split(regex);
}
public String nextWord(){
if(pos==words.length)
return null;
else return words[pos++];
}
}

Exception in thread "main" java.io.FileNotFoundException: a.txt (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(Unknown Source)
at java.io.FileReader.(Unknown Source)
at excises.FileManager.(FileCombine.java:35)
at excises.FileCombine.main(FileCombine.java:11)
请问这是什么问题???

9个回答

把你文件的具体路径打印出来,看看是否正确,是否有特殊符号在里面等等

找不到a.txt,你看看你把a.txt放哪了?是不是程序目录下?

a1193561652
纵横车 回复玲听大海: 那试试写成绝对路径。
4 年多之前 回复
u012441759
玲听Lynda 释放在程序目录下了的
4 年多之前 回复

找不到a.txt,并且肯定也找不到b.txt,建议将a.txt和b.txt放在程序的bin目录下。

u013180863
zs过客 回复玲听大海: 放在class里面呢
4 年多之前 回复
u012441759
玲听Lynda 放到bin下还是 提示这个错误,到底是哪儿出问题了
4 年多之前 回复

文件地址要用全局的绝对路径,你测试一下你的路径,看看对不

跟class文件放在一起

很有可能就是路径问题,检查下你a、b 文件的路径

其实吧你 在 工程目录下 放一个 代码目录下放一下 成功了再删就是了 实在 不行 用绝对路径好了

打印一下当前路径的位置,然后对比一下,对应的确定a、b的位置

a.txt要放在工程的根目录: 工程路径/a.txt, 检查一下a.txt路径是否正确

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Linux下读取文件找不到文件或路径
从linux下某路径读取一个图片上传到其他地方,用File对象和FileInputSteam都是找不到文件 ,路径不带中文,路径没有错,文件我直接cd 进去可以找到,权限wr都有,就是他妈报 路径下文件和文件夹找不到的错误
小白请教java web项目文件路径的问题
![图片说明](https://img-ask.csdn.net/upload/201707/27/1501116136_370241.jpg) 如题,想在Java class中加入一个配置文件,但是读取的时候始终报错,提示找不到指定路径,我的项目结构如图 所以想请问大家在当前类中读取WEB-INF下的ehcache.xml文件,路径要怎么写?
Java读取相对路径文件怎么读取不了?求助
import java.util.Scanner; public class ReadData { public static void main(String[] args) throws Exception { // Create a File instance java.io.File file = new java.io.File("scores.txt"); // Create a Scanner for the file Scanner input = new Scanner(file); // Read data from a file while (input.hasNext()) { String firstName = input.next(); String mi = input.next(); String lastName = input.next(); int score = input.nextInt(); System.out.println( firstName + " " + mi + " " + lastName + " " + score); } // Close the file input.close(); } } 文件内容为: John T Smith 90 Erik K Jones 85 源代码如上,文件也放在同一个包里,但编译出错 Exception in thread "main" java.io.FileNotFoundException: scores.txt (系统找不到指定的文件。) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(Unknown Source) at java.io.FileInputStream.<init>(Unknown Source) at java.util.Scanner.<init>(Unknown Source) at Exercise20.ReadDateScanner.main(ReadDateScanner.java:11)
关于android 的读取文件问题(找不到路径)
找不到目录下的那个文件,具体问题描述见一下图片 图一:![图片说明](https://img-ask.csdn.net/upload/201805/23/1527062412_552594.jpg) 图二:![图片说明](https://img-ask.csdn.net/upload/201805/23/1527062384_257976.jpg) 图三:![图片说明](https://img-ask.csdn.net/upload/201805/23/1527062404_167128.jpg) 所要获取的路径: //字体库路径,必须包含tessdata文件夹 static final String TESSBASE_PATH = Environment.getExternalStorageDirectory()+File.separator+"Download"+ File.separator; //识别语言英文 static final String NUMBER_LANGUAGE = "num"; # 另外在AndroidManifest.xml文件中的权限配置如下: <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" /> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.RECORD_VIDEO"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
FileInputStream找不到文件异常(FileNotFoundException)
我的配置文件放在src目录下,名字叫做jdbc.properties,读取配置文件的时候使用的代码是InputStream inputStream = new FileInputStream("jdbc.properties");但是当我运行的时候报错 java.io.FileNotFoundException: jdbc.properties (系统找不到指定的文件。) 从网上找了下问题,可能是我的相对路径不对,遂改为下面代码这样。 新建一个工程测试时发现这样是可以读取到配置文件的。但是运行这个程序的时候依然报错java.io.FileNotFoundException: jdbc.properties (系统找不到指定的文件。) 我的路径写错了吗?可是我已经修改了文件的名字为set.properties,就算路径有错但为什么报错的时候还是说找不到jdbc.properties? 我是用的是intellij IDEA,这个是个web项目,使用的tomcat服务器,非常感谢解答! ``` public class JDBCUtil { private static String driverClass; private static String url; private static String name; private static String password; private JDBCUtil() { } static { try { Properties properties = new Properties(); InputStream inputStream = new FileInputStream("./src/set.properties"); properties.load(inputStream); driverClass = properties.getProperty("driverClass"); url = properties.getProperty("url"); name = properties.getProperty("name"); password = properties.getProperty("password"); } catch (Exception e) { e.printStackTrace(); } } ``` ![图片说明](https://img-ask.csdn.net/upload/201910/21/1571644031_35965.png)
java读取服务器html文件带图片显示到前端
html文件是通过word另存为生成的,存放位置不在web项目路径下,我现在通过文件流的方式读取html文件显示到浏览器,但图片无法显示出来,怎样解决呢?
Java filenotfoundexception问题,路径找不到。。。
提示我路径未找到,文件名是自己键入的,代码如下: public class CSVParser extends ConsoleProgram { public void run(){ ArrayList<String> result = new ArrayList<String>(); String filename = openfile("Enter the filename :"); int columnIndex = readInt("Enter the column index :"); result = extractColumn(filename,columnIndex); println(result); } //读取文件,若文件不存在则提示,重新键入文件名 private String openfile(String prompt){ BufferedReader rd = null; while(rd==null){ try{ String name = readLine(prompt); rd = new BufferedReader(new FileReader(name)); }catch(IOException e){ println("bad file.The file doesn't exist."); } } return getName(); } //根据文件名和所要获取的列数输出该列所有内容 private ArrayList<String> extractColumn(String filename, int columnIndex) { ArrayList<String> result = new ArrayList<String>(); try { BufferedReader rd = new BufferedReader(new FileReader(filename)); String line=""; while((line = rd.readLine()) != null){ String str = (fieldsIn(line).get(columnIndex-1)); result.add(str); }rd.close(); }catch (IOException e){ e.printStackTrace(); throw new RuntimeException(e); } return result; } }
Spring mvc mybatis 核心文件applicationContext.xml读取路径的问题
我搭了一个框架,applicationcontext.xml文件不在src下也不在WEB-INF/classes下而是在WEB-INF/etc下(自己建的文件夹) 现在我的java类中想获取spring容器applicationContext 对象,核心xml文件总是说路径不对,试了好几种了,真心的求大神~~~~~ 严重: Servlet.service() for servlet [dispatcher] in context with path [/shweb1] threw exception [Request processing failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [D:\free\eclipse-server\WebContent\WEB-INF\etc\spring\applicationContext.xml]; nested exception is java.io.FileNotFoundException: WebContent\WEB-INF\etc\spring\applicationContext.xml (系统找不到指定的路径。)] with root cause java.io.FileNotFoundException: WebContent\WEB-INF\etc\spring\applicationContext.xml (系统找不到指定的路径。) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(Unknown Source) at org.springframework.core.io.FileSystemResource.getInputStream(FileSystemResource.java:110) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:126) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:92) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:458) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:388) at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140) at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84) at dao.DaoFactory.getDaoFactory(DaoFactory.java:12) at domain.User.<init>(User.java:13) at web.controller.LoginController.view(LoginController.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke
springboot前后端传输文件,如何处理multipartfile
作为一个springboot后端开发的萌新学生,前两天在与前端开发人员进行接口对接的时候,前端上传一个csv格式的文件,传输到后端是以multipartfile格式接收的,后端接口如下: ```Java public ResponseVO upload(@RequestParam("uploadFile") MultipartFile uploadFile) ``` 由于对于multipartfile格式不熟悉,我一直尝试将他转换为原本的csv格式,但是在网上,不管是csdn还是Stack Overflow都没有找到比较精确合适的方法。 最终我选择了将文件首先以csv的格式保存在服务器上,然后再根据转存到服务器上的文件来读取,最后再把服务器上的文件删掉。虽然这样是实现了依然是读取csv文件,但是就感觉十分的不得劲,代码如下: ```Java String originalFilename = uploadFile.getOriginalFilename(); //保存路径 String path = destPath + originalFilename; //生成保存文件 File destFile = new File(path); System.out.println(destFile); //将上传文件保存到路径 try { uploadFile.transferTo(destFile); } catch (IOException e) { e.printStackTrace(); return ResponseVO.buildFailure("upload file failed"); } ``` 此前虽然有springboot开发经验但是没有涉及到文件传输相关的知识,想问一下有没有比较简单精确的可以把multipartfile转换为原本文件格式的方法?或者在一般的实际开发中,前后端交互文件是怎么处理的?都是直接读取的multipartfile吗?因为感觉另外保存下来然后再读最后还要删掉实在是有点低效。
java web项目部署到 docker 容器中 不过 用绝对地址拿不到文件?
文件上传到 根路径 然后 进行读取(因为数据量较大,先存在取), 不过 用绝对地址拿不到文件,这是什么原因? ![图片说明](https://img-ask.csdn.net/upload/201910/25/1571997759_175651.png)
我在读取某个盘的文件的时候遇见加了权限的文件,我得不到它的路径,会报错,我不去try有别的
我在读取某个盘的文件的时候遇见加了权限的文件,我得不到它的路径,会报错,我不去try有别的办法吗,我做的功能咋和我写的界面结合在一起呢
kafka数据上传hbase的问题
我使用的环境是hdp的伪分布集群 我的项目是flume采集数据发送到kafka的各个topic当中 再由jar文件使得从kafka当中获取数据 发送到hbase做持久化 然后因为数据量颇大 每次传个半个小时的数据 regionserver就挂掉了 项目是肯定没问题的 因为目前在学习阶段 别人是可以执行且不报错的 问题如下所示 ``` java.io.FileNotFoundException: File /tmp/hbase-root/hbase/lib does not exist at org.apache.hadoop.fs.RawLocalFileSystem.listStatus(RawLocalFileSystem.java:431) ~[hadoop-common-2.7.3.jar!/:na] at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1517) ~[hadoop-common-2.7.3.jar!/:na] at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1557) ~[hadoop-common-2.7.3.jar!/:na] at org.apache.hadoop.fs.ChecksumFileSystem.listStatus(ChecksumFileSystem.java:674) ~[hadoop-common-2.7.3.jar!/:na] at org.apache.hadoop.hbase.util.DynamicClassLoader.loadNewJars(DynamicClassLoader.java:178) [hbase-common-1.1.2.jar!/:1.1.2] at org.apache.hadoop.hbase.util.DynamicClassLoader.loadClass(DynamicClassLoader.java:142) [hbase-common-1.1.2.jar!/:1.1.2] at java.lang.Class.forName0(Native Method) [na:1.8.0_161] at java.lang.Class.forName(Class.java:348) [na:1.8.0_161] at org.apache.hadoop.hbase.protobuf.ProtobufUtil.toException(ProtobufUtil.java:1543) [hbase-client-1.1.2.jar!/:1.1.2] at org.apache.hadoop.hbase.protobuf.ResponseConverter.getResults(ResponseConverter.java:120) [hbase-client-1.1.2.jar!/:1.1.2] at org.apache.hadoop.hbase.client.MultiServerCallable.call(MultiServerCallable.java:134) [hbase-client-1.1.2.jar!/:1.1.2] at org.apache.hadoop.hbase.client.MultiServerCallable.call(MultiServerCallable.java:54) [hbase-client-1.1.2.jar!/:1.1.2] at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:200) [hbase-client-1.1.2.jar!/:1.1.2] at org.apache.hadoop.hbase.client.AsyncProcess$AsyncRequestFutureImpl$SingleServerRequestRunnable.run(AsyncProcess.java:708) [hbase-client-1.1.2.jar!/:1.1.2] ``` 他突然开始寻找 File /tmp/hbase-root/hbase/lib does not exist 这个路径的文件 我的项目中并没有从这个路径下寻找文件 我前往到这个路径 路径是空的 就是根本没有这个路径 然后我前往hbase的log中查看 hbase来了一套组合拳 ``` 2020-03-21 19:29:49,789 ERROR [Thread-19] util.PolicyRefresher: PolicyRefresher(serviceName=Sandbox_hbase): failed to refresh policies. Will continue to use last known version of policies (6) com.sun.jersey.api.client.ClientHandlerException: java.net.SocketTimeoutException: Read timed out at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149) at com.sun.jersey.api.client.Client.handle(Client.java:648) at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670) at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:503) at org.apache.ranger.admin.client.RangerAdminRESTClient.getServicePoliciesIfUpdated(RangerAdminRESTClient.java:135) at org.apache.ranger.plugin.util.PolicyRefresher.loadPolicyfromPolicyAdmin(PolicyRefresher.java:264) at org.apache.ranger.plugin.util.PolicyRefresher.loadPolicy(PolicyRefresher.java:202) at org.apache.ranger.plugin.util.PolicyRefresher.run(PolicyRefresher.java:171) Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:171) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:240) at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:147) ... 8 more ``` 然后就是读取超时 ``` com.sun.jersey.api.client.ClientHandlerException: java.net.SocketTimeoutException: Read timed out at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149) at com.sun.jersey.api.client.Client.handle(Client.java:648) at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670) at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:503) at org.apache.ranger.admin.client.RangerAdminRESTClient.getServicePoliciesIfUpdated(RangerAdminRESTClient.java:135) at org.apache.ranger.plugin.util.PolicyRefresher.loadPolicyfromPolicyAdmin(PolicyRefresher.java:264) at org.apache.ranger.plugin.util.PolicyRefresher.loadPolicy(PolicyRefresher.java:202) at org.apache.ranger.plugin.util.PolicyRefresher.run(PolicyRefresher.java:171) ``` 然后就是最匪夷所思的异常 ``` 2020-03-21 19:33:36,252 ERROR [Thread-19] util.PolicyRefresher: PolicyRefresher(serviceName=Sandbox_hbase): failed to refresh policies. Will continue to use last known version of policies (6) com.sun.jersey.api.client.ClientHandlerException: java.net.SocketTimeoutException: Read timed out at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149) at com.sun.jersey.api.client.Client.handle(Client.java:648) at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670) at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:503) at org.apache.ranger.admin.client.RangerAdminRESTClient.getServicePoliciesIfUpdated(RangerAdminRESTClient.java:135) at org.apache.ranger.plugin.util.PolicyRefresher.loadPolicyfromPolicyAdmin(PolicyRefresher.java:264) at org.apache.ranger.plugin.util.PolicyRefresher.loadPolicy(PolicyRefresher.java:202) at org.apache.ranger.plugin.util.PolicyRefresher.run(PolicyRefresher.java:171) Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) at java.net.SocketInputStream.read(SocketInputStream.java:171) at java.net.SocketInputStream.read(SocketInputStream.java:141) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:240) at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:147) ... 8 more ``` 求大佬解答
flutter静态资源的相对路径是什么
我将图片放在flutter项目下'assets/images/这个文件夹里,然后用File('assets/images/xxx.png').readAsBytes()读取其字节,控制台报错找不到文件或目录,用file类该如何以相对路径读取本地图片
SpringBoot打包后无法读取到resources下的资源
项目调试运行没有什么问题,在maven package后就无法读取到resources下的资源了 项目中有两个外部jar包,放在resources的lib下,在pom中引用如下 ```java <dependency> <groupId>com.tossft</groupId> <artifactId>sssk</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/sssk.jar</systemPath> </dependency> ``` ```java <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <webResources> <resource> <!-- 原路径 --> <directory>src/main/resources/lib</directory> <targetPath>WEB-INF/lib/</targetPath> <includes> <include>**/*.jar</include> </includes> </resource> </webResources> </configuration> </plugin> ``` 这个jar需要读取resources下config文件夹下的xxx.xml配置文件, 在IDE中调试运行是没有问题的,maven package再运行就报错,找不到这个xml了
java里怎么将一个文件保存至另外一个文件里?
小弟在做一个程序时遇到个问题,将文件内容读出并显示到屏幕上,同时复制文件内容到另一个文件中。 我的第一步是用户输入一个txt文档的绝对路径然后再将它的内容在屏幕上显示出来。 这一段代码小弟敲完后可以运行并达到要求。 但是在第二个目标(将这个txt文档复制至新的路径里)遇到问题了,我不知道怎么 让程序可以读取用户刚刚输入的绝对路径再将其复制到一个新的目录里面, 我只能做到在程序里先打好复制文件的原路径与我想要将这个文件复制到哪个目录里 所以我的第一步和第二步脱节了,请大神们帮帮忙 ``` package shiyan3; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Reader; import java.util.Scanner; public class Notepad { private static String filePath; private static String message =""; public static void main(String[] args) throws Exception { Scanner sc =new Scanner(System.in); System.out.println("1:打开文件 2:复制文件 3:退出"); while (true) { System.out.println("请输入指令"); int command = sc.nextInt(); switch (command) { case 1: openFile(); break; case 2: copyFile(); break; case 3: exit(); break; default: System.out.println("输入错误"); } } } private static void openFile() throws Exception { message = ""; Scanner sc = new Scanner(System.in); System.out.println("请输入打开文件位置:"); filePath =sc.next(); if (filePath!= null && !filePath.endsWith(".txt")) { System.out.println("请选择文本文件!"); return; } FileReader in = new FileReader(filePath); char [] charArray =new char[1024]; int len =0 ; StringBuffer sb = new StringBuffer(); while ((len=in.read(charArray)) !=-1) { sb.append(charArray); } message =sb.toString(); System.out.println("打开文件内容"+"\r\n"+message); in.close(); } public static void copyFile() throws Exception { FileReader reader =new FileReader("D://JAVA//chapter01//src//shiyan3//text.txt"); BufferedReader br = new BufferedReader (reader); FileWriter writer = new FileWriter("D://JAVA//chapter01//src//shiyan3//text1.txt"); BufferedWriter bw = new BufferedWriter(writer); String str; while ((str = br.readLine()) != null) { bw.write(str); bw.newLine(); } br.close(); bw.close(); System.out.println("复制已经完成啦"); } private static void exit() { System.out.println("您已退出系统!"); } } ```
sh脚本怎么循环读取文件的每一行,切割并且赋值给不同的变量呢?
有一个文件知道它的路径,里面有下面这些内容, 123456 233445 244556 想用sh脚本做一个 循环读取这个文件的每一行,(只需要读取文件第一个字符是2的,第一条1的不读取) 然后吧读到的内一行的内容进行切割 第2-3个字符 赋值给一个变量 第4-5个字符 赋值给另外一个变量 第6个字符 再赋值给一个变量 字符每行的位置是固定的 请问各位大神怎么实现?sh脚本从来没有接触过,最好麻烦帮忙注释一下,菜鸟可能看不懂,谢谢了!
【已解决】java环境变量配置问题
原版本为java13,刚刚新装了个java8,把环境变量改成了java8(自认为改的没问题),并把13卸载了。 但是java -version显示“不是内部或外部命令”,echo %JAVA_HOME% 显示的还是java13: ![图片说明](https://img-ask.csdn.net/upload/201910/16/1571217989_284838.png) 环境变量配置如下: ![图片说明](https://img-ask.csdn.net/upload/201910/16/1571218196_863563.png)![图片说明](https://img-ask.csdn.net/upload/201910/16/1571218211_105836.png) 注册表系统环境变量: ![图片说明](https://img-ask.csdn.net/upload/201910/16/1571218328_60338.png) 求各路大神,帮忙看看,为什么java -version不好使,为什么echo %JAVA_HOME% 还是java13的路径? 感谢!感谢! ----------------------------------------------------------------- 刚刚重启了下电脑,问题解决了,= =! 貌似是,我当时使用了java(或相关软件),电脑在注册表中将java的环境变量从硬盘读取到系统内存里,当时我还没有装java8,所以内存中的环境变量还是java13,后来我装了java8同时将java13卸载了,这时,运行echo %JAVA_HOME%是回显内存中已存在的java13,而且,执行java -version也找不到java13的文件了(已经被我卸载了)
求问如何解决 Could not initialize class JDBC.JDBCUtil?
最近在学JDBC的类的抽取,碰上这个问题了,全程跟着视频写的代码,但是运行不出来,出现这个Could not initialize class错误,搜了一下午还是没头绪,请问各位大佬有类似经历吗,请问是怎么样解决的呢? 这个是JDBC抽取类的代码 ``` package JDBC; import java.io.FileReader; import java.io.IOException; import java.net.URL; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class JDBCUtil { private static String url; private static String user; private static String password; private static String driver; // 资源文件读取. 因为只想加载一次,所以写在静态代码块中, 随类的加载而加载到内存(只加载一次) static { // 读取资源文件, 获取值 try { //1. 创建properties集合类 Properties pro = new Properties(); // 获取src路径下的文件方式 --> ClassLoader 类加载器 ClassLoader classLoader = JDBCUtil.class.getClassLoader(); URL resource = classLoader.getResource("src/jdbc.properties"); String path = resource.getPath(); // System.out.println(path); //2. 加载文件 // pro.load(new FileReader("F:\\JavaEE\\code\\idea_code\\coderZYGui\\day04_jdbc\\src\\jdbc.properties")); pro.load(new FileReader(path)); //3. 获取数据, 赋值 url = pro.getProperty("url"); user = pro.getProperty("user"); password = pro.getProperty("password"); driver = pro.getProperty("Driver"); //4. 注册驱动 Class.forName(driver); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static Connection getConnection() throws SQLException { // 写死,不好 // return DriverManager.getConnection("jdbc:mysql://localhost:3306/zy", "root", "1111"); return DriverManager.getConnection(url, user, password); } /** * 释放资源 * * @param stmt 释放执行sql语句对象 * @param conn 释放数据库连接对象 */ public static void close(Statement stmt, Connection conn) { if (stmt != null) { try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 释放资源 * * @param rs 释放结果集对象 * @param stmt * @param conn */ public static void close(ResultSet rs, Statement stmt, Connection conn) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (stmt != null) { try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 这个是JDBC.properties的代码 ``` url=jdbc:mysql:///db1 user=root password=ftcftc321 Driver=com.mysql.jdbc.Driver ``` 这个是对JDBCUtil抽取类的使用的代码 ``` package JDBC; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author xf *定义一个方法,查询emp表的数据将其封装为对象,然后装载集合,返回。 */ public class Search { public static void main(String[] args) { List<Emp> list=new Search().findAll(); System.out.print(list); } public static List<Emp> findAll() { // TODO 自动生成的方法存根 Connection conn=null; Statement sttm=null; ResultSet rs=null; List<Emp> list=new ArrayList<>(); //1、注册驱动 try { conn=JDBCUtil.getConnection(); //3、定义SQL语句 String sql="select *from emp"; //4、执行SQL对象 sttm=conn.createStatement(); //5、执行SQL rs=sttm.executeQuery(sql); //6、遍历结果集 Emp emp=null; while(rs.next()) { int ID=rs.getInt("id"); String name=rs.getString("ename"); int job_ID=rs.getInt("job_id"); int mjr=rs.getInt("mjr"); Date datetime=rs.getDate("joindate"); double salary=rs.getDouble("salary"); double bonus=rs.getDouble("bonus"); int dep_ID=rs.getInt("dept_id"); emp=new Emp(); emp.setID(ID); emp.setName(name); emp.setJob_ID(job_ID); emp.setMjr(mjr); emp.setDatetime(datetime); emp.setSalary(salary); emp.setBonus(bonus); emp.setDep_ID(dep_ID); list.add(emp); } } catch (SQLException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); }finally { JDBCUtil.close(rs, sttm, conn); } return list; } } ```
Java读写MySQL备份生成的文件返回给页面下载,页面下载到的是空文件,而MySQL备份的不是空文件
``` //数据备份 @ResponseBody @GetMapping("/backups") @RequiresPermissions("system:data:backups") public void list(HttpServletResponse response) { //备份文件 String filePath="C:\\beifen";//备份文件的路径 String dbName="log_system233"+(new Date().getTime());//备份文件的名称 try { Process process = Runtime.getRuntime().exec( "cmd /c mysqldump -u root -proot " + "log_system233" + " > " + filePath + "/" + dbName + ".sql"); //备份的数据库名字为log_system,数据库连接和密码均为root } catch (Exception e) { e.printStackTrace(); } //下载备份的文件 String filename = "C:\\beifen/"; String filenameZip = filename + dbName + ".sql";//获取文件的路径 try { response.setContentType("application/x-execl"); response.setHeader("Content-Disposition", "attachment;filename=" + new String((dbName+".sql").getBytes(), "UTF-8")); // 读取文件 InputStream in = new FileInputStream(filenameZip); ServletOutputStream outputStream = response.getOutputStream(); // 写文件 int b; while ((b = in.read()) != -1) { outputStream.write(b); } in.close(); outputStream.close(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } //结束 } ``` 这是页面下载的文件 ![图片说明](https://img-ask.csdn.net/upload/201911/07/1573094056_711946.png) 如果在程序程加上断点,那么页面下载的就不是空文件了;但不加断点的话,页面下载的就是空文件
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
【JSON解析】浅谈JSONObject的使用
简介 在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。 JSON建构于两种结构: “名称/值”对的集合(A Collection of name/va...
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
Java 14 都快来了,为什么还有这么多人固守Java 8?
从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,...
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
讲真,这两个IDE插件,可以让你写出质量杠杠的代码
周末躺在床上看《拯救大兵瑞恩》 周末在闲逛的时候,发现了两个优秀的 IDE 插件,据说可以提高代码的质量,我就安装了一下,试了试以后发现,确实很不错,就推荐给大家。 01、Alibaba Java 代码规范插件 《阿里巴巴 Java 开发手册》,相信大家都不会感到陌生,其 IDEA 插件的下载次数据说达到了 80 万次,我今天又贡献了一次。嘿嘿。 该项目的插件地址: https://github....
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
立即提问