java文件怎么打开,怎么在电脑上找到java文件

1.概述在这篇文章里,我们将探索不同的方式从文件中读取数据。首先,学习通过标准的的Java类,从classpath、URL或者Jar中加载文件。然后,学习通用BufferedReader,Scanne

1.概述

java文件怎么打开

在这篇文章里, 我们将探索不同的方式从文件中读取数据。

首先, 学习通过标准的的Java类,从classpath、URL或者Jar中加载文件。

然后,学习通用BufferedReader,Scanner,StreamTokenizer,DataInputStream,SequenceInputStream,FileChannel读取文件内容。也会讨论如何读取UTF-8编码的文件。

最后,学习Java7和Java8中新的加载和读取文件的技术。

在启动Eclipse后左边方框中单机右键,在右键菜单中选择导入(英文版Eclipse选import)选项,然后选择已存在的项目(英文版Existing Project into Workplace),在所有java文件前选对号后之后点完成(英文版finish),就完成了java程。

2.准备

2.1 输入文件

这篇文章的很多示例,从名为fileTest.txt的文件读取文本内容,文件包含

Hello,World!

java源代码是txt格式的.java文件,用记事本就可以打开。用eclipse打开java文件的方式是:如果java文件是一个eclipse工程(根目录带有.project文件),用file/import/general/exist java project/(大概是)然后找到你的目录。否则。

有少量示例, 我们会读取不同的文件, 示例中会有说明。

2.2 辅助方法

很多示例都会用到共用的方法readFromInputStream, 该方法将InputStream转化String

private String readFromInputStream(InputStream inputStream)throws IOException {StringBuilder resultStringBuilder = new StringBuilder();try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream))) {String line;while ((line = br.readLine()) != null) {resultStringBuilder.append(line).append(&34;);}}return resultStringBuilder.toString();}

3.从Classpath读取文件

3.1 使用标准Java

从src/main/resources读取文件fileTest.txt

@Testpublic void test() throws IOException {String expectedData = &34;;Class<ReadFileTest> clazz = ReadFileTest.class;InputStream inputStream = clazz.getResourceAsStream(&34;);String data = readFromInputStream(inputStream);Assert.assertThat(data,containsString(expectedData));}

在上面的代码中,我们通过当前类的getResourceAsStream方法加载文件,入参是绝对路径。

(1)新建一个项目可以是java project也可以就用project (2)有了工程后直接在默认包下运行java文件复制java文件在src上右击选择Paste(会自动粘刚刚复制的java文件)这样就可以在默认包下编辑运行java文件 (3)打开project 。

ClassLoader中相同的方法也可以使用。

ClassLoader classLoader = getClass().getClassLoader();InputStream inputStream = classLoader.getResourceAsStream(&34;);String data = readFromInputStream(inputStream);

这两种方法的主要区别是, 当前类的ClassLoader的getResourceAsStream方法,入参路径是从classpath开始。

而类实例的入参是相对于包路径,但路径开始使用&39;符号, 也是绝对路径。

特别要注意的是, 文件打开读取完数据后, 始终需要关闭

inputStream.close();

java不能直接打开,你可以进入命令行模式或者使用ide运行java代码。使用命令行模式运行java程序。win + R,输入cmd,然后输入java和javac,确保java已经成功安装。找到编写好的文件位置,用cd 命令进入 比如,我的文件在桌面,。

3.2 使用commons-io库

另一个比较常用的方法是使用commons-io包里的FileUtils.readFileToString方法。

<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>1.4</version></dependency>

怎么在电脑上找到java文件,@Testpublic void useCommonIO() throws IOException {String expectedData = &34;;ClassLoader classLoader = getClass().getClassLoader();File file = new File(classLoader.getResource(&34;).getFile());String data = FileUtils.readFileToString(file,&34;);assertEquals(expectedData,data.trim());}

@Testpublic void useCommonIO2() throws IOException {String expectedData = &34;;FileInputStream fis = new FileInputStream(&34;);String data = IOUtils.toString(fis,&34;);assertEquals(expectedData,data.trim());}

4.BufferedReader

@Testpublic void bufferedReader() throws IOException {String expected_value = &34;;String file =&34;;BufferedReader reader = new BufferedReader(new FileReader(file));String currentLine = reader.readLine();reader.close();assertEquals(expected_value,currentLine);}

当读取结束的时候, reader.readLine()会返回null

java文件怎么打开

5.Java NIO

NIO是在JDK7中添加。

5.1读取小文件

首先看一下关于Files.readAllLines的示例

@Testpublic void readSmallFile()throws IOException {String expected_value = &34;;Path path = Paths.get(&34;);String read = Files.readAllLines(path).get(0);assertEquals(expected_value,read);}

入参Path对象,Path可以认为是java.io.File的升级版本,提供一些额外的功能。

如果读取的是二进制文件,可以使用Files.readAllBytes()方法

5.2读取大文件

如果想要读取大文件, 我们可以使用Files类和BufferedReader类。

@Testpublic void readLargeFile() throws IOException {String expected_value = &34;;Path path = Paths.get(&34;);BufferedReader reader = Files.newBufferedReader(path);String line = reader.readLine();assertEquals(expected_value,line);}

5.3Files.lines

在JDK8中,Files类增加了lines方法,这个方法将返回Stream<String>。跟文件操作一样,Stream需要显式调用的close()。Files API提供了很多简单读取文件的方法。

6.Scanner

java文件怎么打开

下面我们将使用Scanner读取文件,使用逗号(,)作为定界符(delimiter)。

Scanner默认的定界符是空格。它适用于从控制台读取输入或者内容有固定定界符的内容时。

7.StreamTokenizer

tokenizer会指出下一个token的类型,String或Number。

tokenizer.nval - 如果类型为Number时,读取该字段

tokenizer.sval - 如果类型为String时,读取该字段

8.DataInputStream

运行java文件的方法:1、打开dos界面,进入java文件所在路径。2、编译java文件,如:javac Test.java;3、运行java文件,如:java Test;如图:

如果要读取二进制文件或者原生数据,可以使用DataInputStream

@Testpublic void whenReadWithDataInputStream() throws IOException {String expectedValue = &34;;String file =&34;;String result = null;DataInputStream reader = new DataInputStream(new FileInputStream(file));int nBytesToRead = reader.available();if(nBytesToRead > 0) {byte[] bytes = new byte[nBytesToRead];reader.read(bytes);result = new String(bytes);}assertEquals(expectedValue,result);}

9.FileChannel

如果读取的是一个大文件,FileChannel速度会超过standard IO。

@Testpublic void whenReadWithFileChannel()throws IOException {String expected_value = &34;;String file = &34;;RandomAccessFile reader = new RandomAccessFile(file,&34;);FileChannel channel = reader.getChannel();int bufferSize = 1024;if (bufferSize > channel.size()) {bufferSize = (int) channel.size();}ByteBuffer buff = ByteBuffer.allocate(bufferSize);channel.read(buff);buff.flip();assertEquals(expected_value,new String(buff.array()));channel.close();reader.close();}

10.读取utf-8编码的文件

@Testpublic void whenReadUTFEncodedFile()throws IOException {String expected_value = &34;;String file = &34;;BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file),&34;));String currentLine = reader.readLine();reader.close();assertEquals(expected_value,currentLine);}

1、打开.java文件所在的目录:2、右键选择打开方式,然后选择“记事本”即可:3、打开后的效果:

11.从URL读取数据

@Testpublic void readFromURL() throws IOException {URL urlObject = new URL(";);URLConnection urlConnection = urlObject.openConnection();InputStream inputStream = urlConnection.getInputStream();String data = readFromInputStream(inputStream);}

12.从jar包中读取文件

我们的目标是读取junit-4.12.jar包中的LICENSE-junit.txt文件。clazz只需要这个Jar中的类就行。

上一篇 2023年03月23 13:41
下一篇 2023年02月09 09:42

相关推荐

  • 路由器多少兆的好,3000兆路由器有必要吗

    家用路由器哪些点才是最重要的?路由器作为家里网络关键的一个环节,是我们最应该关注,最应该下功夫的地方。但是还是很多人在选择路由器时毫无头绪,不知道从哪里开始下手。3000兆路由器有必要吗,首先我们要清

    2023年03月22 313
  • 标签机多少钱一台,标签生产机多少钱一台

    全自动贴标机多少钱一台,全自动贴标机是近些年来用的比较多的一款设备,标签生产机多少钱一台,能将成卷的纸标签或金属箔标签粘贴在PCB、产品或规定包装上的设备。实现了自动化、便捷化,解放了人的双手,因此深

    2023年03月13 223
  • 外卖一单多少钱,美团众包兼职10天真实感受

    燃次元(ID:chaintruth)原创11月初,多家茶饮品牌联合抵制外卖满减登上微博热搜。11月18日,燃次元看到,喜茶、奈雪的茶、茶百道、蜜雪冰城等多家茶饮品牌,在北京、上海、广州,甚至四川某县城

    2023年02月20 231
  • 怎么看qq密码

    QQ账号被盗了如何找回?有的玩家们账号被盗了,不知道如何找回账号,那么接下来就带大家了解一下,感兴趣的玩家们不要错过,一起来看看吧。QQ账号被盗了如何找回QQ密码是无法查看的。QQ密码忘记可通过以下方

    2023年02月13 284
  • 怎么弄链接,手机怎么弄链接

    微信的用户群体大,而且功能也越来越多,传统的线下活动都搬到了微信上来,我们常见的一些微信报名活动链接也是可以在微信公众号里面创建的,手机怎么弄链接,这个活动链接创建了之后,粉丝是可以直接通过微信提交报

    2023年02月09 209
  • 阿里巴巴怎么样,阿里巴巴值得去工作吗

    阿里巴巴上周发布了业绩报告。这次报告不但是公布2021/22财政年度第四季业绩,更是该财年的业绩总结。绩后多家外资及中资券商发研报,阿里巴巴值得去工作吗,不约而同地表示季绩优于她们预期,其中至少有五家

    2023年02月10 208
  • 自动获取ip地址怎么设置,自动获取ip地址仍然上不了网

    自动获取ip地址仍然上不了网,DHCP是一种动态主机配置协议(DynamicHostConfigurationProtocol)基本配置R1:syssysnameR11、正常登录管理页,然后找到dhc

    2023年02月06 234
  • 忘记id密码怎么办

    前段时间有个小伙伴问小编:我把iPhone的ID密码忘记了咋办?相信很多果粉都知道苹果的ID是十分重要的,它是你们使用各种苹果服务所需要用到的用户名,比如在苹果的设备上使用iCloud、从苹果的商店在

    2023年02月04 240
  • 链接怎么发,手机怎样发链接给对方

    今天和大家分享手机的复制、粘贴、撤回以及收藏和转发这几个功能的操作,在我们使用手机的过程中,尤其是在使用微信的时候,这几个功能可以说是我们最常用的,手机怎样发链接给对方,对于年轻人来说的话,这些功能的

    2023年02月09 278
  • 怎么双开,hello一个手机怎么双开

    随着现代社会节奏的加快,手机智能软件的应用,人们越来越依赖于手机的智能化和便捷化。一方面日常生活所需、娱乐社交离不开它,另一方面工作技能应用、文件传输也离不开它。例如我们常用的应用程序-微信软件,一般

    2023年02月08 225
  • 中通快递号码多少,中通快递

    京东快递员正在电话联系收件人近年来,宁波市也推出了“小哥驿站”等服务点关心关爱快递行业从业人员。同时,《浙江省快递业促进条例》还指出,要加强快递公司会重视起配送体验,加强对快递员的培训,那么派送前打电

    2023年03月09 221
  • vivoy22il多少钱,vivoY22IL刷机包

    近期,阿斯利康宣布已经成功收购了专注于开发T细胞受体疗法TCR-T的NeogeneTherapeutics公司,这无疑给已经如火如荼的T细胞疗法领域又助力一把。我国CAR-T细胞疗法的发展也是高歌猛进

    2023年03月23 277
  • 云主机多少钱,云主机比普通主机贵

    自己开发了一个个人兴趣网站,如何放到服务器做托管划算呢?近期,百度云推出校园启航计划、域名与建站计划,针对学生群体,云主机比普通主机贵,即可最低9元/月的价格购买百度云1核2G配置的入门云服务器。还可

    2023年02月25 270
关注微信