• 关于 读取文本java 的搜索结果

问题

java读取文本超级大问题:报错

kun坤 2020-06-07 17:10:01 0 浏览量 回答数 1

问题

java怎么读取扫描版的pdf文件内容 保证文字读取顺序正确:报错

kun坤 2020-06-06 16:53:13 0 浏览量 回答数 1

回答

通过三种方式,我们可以从控制台获取输入。 1.使用BufferedReader类:我们可以通过将System.in包装到InputStreamReader中并将其传递到BufferedReader中来从控制台获取输入。当输入被缓冲时,它提供了有效的读数。 2.使用Scanner类:Java Scanner类使用默认为空格的定界符将输入分为令牌。它提供了许多读取和解析各种原始值的方法。 Java Scanner类广泛用于使用正则表达式解析文本以获取字符串和原始类型。 Java Scanner类扩展了Object类,并实现了Iterator和Closeable接口。 3.使用控制台类:Java控制台类用于从控制台获取输入。它提供了读取文本和密码的方法。如果您使用Console类读取密码,则不会向用户显示该密码。 java.io.Console类在内部连接到系统控制台。从1.5开始引入Console类。

YDYK 2020-04-24 15:17:17 0 浏览量 回答数 0

回答

使用inputsteamreader bufferreader之类,指定字符集,就能读取出字符了,一般不会自行判断要读多少个字节才是一个字符######确实如此,不需要事先判断。 一个一个地读到文档结尾(EOF), 就终止读取操作。再将已得到的字节数据,通过给定的字符编码(字符集),就能转换成所要的字符。###### 在 Java 语言中,用字节流读取数据,不需要事先判断 "是应该单字节读取,还是双字节读取,或者是3字节读取以及4字节读取...."。事实上,字节流是依次逐个读取字节的。 如下案例说明以上事实。 已知两个文档 hello.txt 和 hello1.txt 的内容分别是:"hello world!" 和 "世界, 你好!"。  调用 FileInputStream 的 int read() 方法,依次读取两个文档。从头读取每个文档的时候,按字节依次读取,一旦读取到文档结尾(EOF), 被调用的方法 read() 便返回 整形数 -1,显示读取数据的任务完成。Java 使用 UNICODE (汉字占2个字节,ASCII 码所包括的字符,如英文字母,标点符号,空格,占1个字节) 进行"翻译"。结果显示, 从文档 hello.txt 中, 读取到12个字节。从文档 hello1.txt 中, 读取到11个字节。 import java.io.*; public class Test_Input { static void test(String f) throws IOException{ FileInputStream fin = new FileInputStream(f); byte[] buffer = new byte[1024]; int len=0; byte b =(byte) fin.read(); while (b!= -1){ buffer[len++]=b; b =(byte) fin.read(); } String str = new String(buffer,0,len); System.out.println(str); System.out.println("从文档\" " + f + " \" 中读取到: " + len + "个字节。"); fin.close(); } public static void main(String[] args) throws IOException{ test("hello.txt"); test("hello1.txt"); } } cmd: D:\java\test\OS_China\InputStream>javac Test_Input.java D:\java\test\OS_China\InputStream>java Test_Input hello world! 从文档" hello.txt " 中读取到: 12个字节。 世界, 你好! 从文档" hello1.txt " 中读取到: 11个字节。  ###### 如果已知字节流是纯文本,搞清楚字符集,按byte[]读取,再传给new String(bytes, charset)转换成文本就可以,如: String s = new String(byteBuffer.array(), StandardCharsets.UTF_8);   如果不知道不是纯文本,要搞清楚内容是由什么组成的,按类型逐段读取(如byteBuffer.getInt()),需要注意的是C语言表达数值通常是大端序的,而java通常是小端序,可以通过"Integer.reserveBytes(value)"来转换(Integer替换成对应的Long、Double等类型)

kun坤 2020-06-07 20:03:40 0 浏览量 回答数 0

问题

Txt文本读取插入数据库:报错

kun坤 2020-06-07 22:09:49 0 浏览量 回答数 1

问题

[@徐雷frank][¥20]如何用Java读写CSV文件?

晓生寒 2019-12-01 19:25:55 521 浏览量 回答数 1

问题

一个关于文本匹配的问题

蛮大人123 2019-12-01 19:57:29 1078 浏览量 回答数 1

问题

如何从文本中找出匹配的字符串

a123456678 2019-12-01 20:06:54 1311 浏览量 回答数 1

问题

如何在Java中将InputStream读取/转换为String?

问问小秘 2020-01-09 15:28:01 5 浏览量 回答数 1

回答

1.src:存放所有的*.java源程序。2.gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID。3.assets:可以存放项目一些较大的资源文件,例如:图片、音乐、字体等。4.res:可以存放项目中所有的资源文件,例如:图片(.png、.jpg)、文本等。5.res/drawable-hdpi:保存高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。6.res/drawable-ldpi:保存低分辩率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。7.res/drawable-mdpi:保存中等分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。8.res/layout:存放所有的布局文件,主要是用于排列不同的显示组件,在Android程序中要读取此配置。9.res/values: 存放一些资源文件的信息,用于读取文本资源,在本文件夹之中有一些约定的文件名称:· arrays.xml:定义数组数据;(在个这个xml命名的时候可以随便起名,因为最后用的时候只是用到写在这个xml文件中的array的名字)R文件是自动生成的,就比如你新建了个textview 那么R文件就会生成相应的数据与其对应。

51干警网 2019-12-02 01:34:59 0 浏览量 回答数 0

回答

1.src:存放所有的*.java源程序。2.gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID。3.assets:可以存放项目一些较大的资源文件,例如:图片、音乐、字体等。4.res:可以存放项目中所有的资源文件,例如:图片(.png、.jpg)、文本等。5.res/drawable-hdpi:保存高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。6.res/drawable-ldpi:保存低分辩率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。7.res/drawable-mdpi:保存中等分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。8.res/layout:存放所有的布局文件,主要是用于排列不同的显示组件,在Android程序中要读取此配置。9.res/values: 存放一些资源文件的信息,用于读取文本资源,在本文件夹之中有一些约定的文件名称: · arrays.xml:定义数组数据;(在个这个xml命名的时候可以随便起名,因为最后用的时候只是用到写在这个xml文件中的array的名字)R文件是自动生成的,就比如你新建了个textview 那么R文件就会生成相应的数据与其对应。

爵霸 2019-12-02 02:10:30 0 浏览量 回答数 0

问题

关于Java io 大文本数据 缩放的问题

小旋风柴进 2019-12-01 20:05:38 1302 浏览量 回答数 1

问题

fastjson序列化和反序列化问题。:报错

kun坤 2020-06-07 20:53:06 0 浏览量 回答数 1

回答

摘抄:因为java读取read()方法时候,底层由c++实现,返回的是 unsigned byte ,取值范围为[0,255],而byte的取值范围是[-128,127], 那么[128, 255]就没有办法表示了,然后就会把byte升级为int,int就可以表示[128,255], 不过为什么不用short去接受返回呢???菜鸟求解######回复 @快乐的一只小青蛙 : 糊涂之言,勿怪!!######回复 @kakai : short是C语言的基本类型之一。 C语言整形数据包括char、short、int、long######Java没有unsigned###### 对于你问题的具体回答 [详细描述]###### 哪儿矛盾了,返回的int值表示读取的字节数,并不是读取到的字节######可是,调用 public abstract int read() throws IOException,返回的是 0 到 255 范围内的 int 字节值。###### 摘要 调用 read(), 从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int 字节值。 调用 read(byte[] b), 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。以整数形式返回实际读取的字节数。 1.    的确,public abstract int read()                                   throws IOException 输入流中读取数据的下一个字节。但是,返回的是 0 到 255 范围内的 int 字节值。一个字节能表示的最大的整数就是255(二进制11111111=十进制255)。所以,返回值的类型是 int。"read()的底层是由C++实现的,返回的是unsigned byte,取值范围为[0~255],在java中没有对应的类型,所以只能用int类型接收"。 中文字符,(至少)需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。java 字符型变量,使用 UNICODE。UNICODE 通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。比如,一个中文字符 '中', 对应的 Unicode 十进制编码是: 20013。于是,要读取 '中',就必须连续读入两个字节。按 UNICODE 编码,才能够将这两个二进制字节值"合成",将"合成"结果,成功转换成相应的中文字符。 如下代码,详述通过 java 使用的 Unicode 编码 读取 中文字符的案例。 这里,通过建立一个 BigInteger 对象,获得 长度为2的字节数组 byte bete[]。分别检查这两个字节的二进制表示, 即输出 每个字节元素的字节值,及其二进制表示。从输出结果可以看出,将两个(整型)字节值 78( 二进制:01001110)   和 45( 二进制:00101101) 的二进制表示,“合成” 到一起,就是 字符'中' 的Unicode编码 20013, 即 0100111000101101(二进制) 。  import java.math.BigInteger; public class ByteArray1 { public static void main(String[] args) { int zhong = (int)'中'; System.out.println( "字符 '"+ (char)zhong + "',其 UNICODE: " + zhong + "(十进制)"); // 通过建立一个 BigInteger 对象,获得 长度为2的字节数组 byte bete[]。 BigInteger b = new BigInteger(String.valueOf(zhong)); String zh = b.toString(2); System.out.println( addZero(zh, 16) + "(二进制)" ); // 输出字符 '中' 的 二进制的字符串形式 byte bete[] = b.toByteArray();//返回一个 byte 数组,该数组包含此 BigInteger 的二进制补码表示形式。 for (int j=0; j<bete.length ; j++){ byte bn = bete[j]; String str = Integer.toBinaryString(bn); System.out.println( bn + "( 二进制: " + addZero(str, 8) + ")"); // 输出 每个字节元素的字节值的二进制表示 } } /* 将一个 整型 (16位) 或 字节(8位) 转化成 二进制表示的字符串时, * 若字符串长度不足 16位 或 8位 时,将空位补 0。 */ static String addZero(String s, int length){ String add=""; for(int k=0; k< ( length - s.length()); k++) add += "0"; return add + s; } } 输出: 字符 '中',其 UNICODE: 20013(十进制) 0100111000101101(二进制) 78( 二进制: 01001110) 45( 二进制: 00101101) 2.     如果调用 方法  public int read(byte[] b)          throws IOException 其功能是:"从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。以整数形式返回实际读取的字节数"。注意,这时读取到的输入流的每个字节的值,依次存入缓冲区数组 b 的各个元素之中。 结论: 调用 read(), 从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int 字节值。调用 read(byte[] b), 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。以整数形式返回实际读取的字节数。在字节流的基础上,加上编码,形成的数据流。字符流虽然以字节流为基础创建的,但是字节流可以支持声音,视频,图片,文本等所有文件类型,而字符流只支持文本文件。ASCII码:美国信息交换标准代码。单字节编码,不支持中文。Unicode/utf-8  :双字节编码,支持中文(万国码)。java 使用 Unicode。    参考: Java:InputStream中的read()返回int类型的疑问Java I/O(字节流、字符流与转换流)Java中字符流与字节流的区别###### 引用来自“yong230”的评论 哪儿矛盾了,返回的int值表示读取的字节数,并不是读取到的字节 我也这样认为######如果调用 方法 public int read(byte[] b) throws IOException 其功能是:从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。以整数形式返回实际读取的字节数。注意,读取到的输入流的每个字节值,依次存入缓冲区数组 b 的各个元素之中。调用 read(), 返回字节的值。###### 还有这么多人,居然方法的功能都不知道,, read和read(byte[])的功能都不同,

kun坤 2020-06-07 20:03:19 0 浏览量 回答数 0

问题

java读取Txt文本问题:报错

kun坤 2020-06-07 21:56:30 0 浏览量 回答数 1

问题

使用SocketChannel的NIO客户机服务器通信示例:报错

kun坤 2020-06-07 16:01:28 0 浏览量 回答数 1

问题

我正在尝试在Java上使用gson将大量自定义对象写入json文件,但是在文件完成之前它会中断吗?

小六码奴 2019-12-01 21:49:13 55 浏览量 回答数 1

问题

java读取文件内容错误,确实在这个目录下。报错

因为相信,所以看见。 2020-05-27 12:58:49 3 浏览量 回答数 1

问题

上周一去一家公司面试碰到的一些题目 热:报错

kun坤 2020-06-08 11:05:42 3 浏览量 回答数 1

问题

[精品问答]Java一百问第一期

问问小秘 2019-12-01 21:51:20 791 浏览量 回答数 1

问题

Java FTP 读多个文本文件,只能读第一个文本,读第二个时输入流为null:报错

kun坤 2020-06-06 16:57:07 0 浏览量 回答数 1

回答

" public static void main(String[] args) throws IOException { File file = new File("/home/yangxiaohuan/Documents/TokenizeThenSplitParallelDeletePatternLTZero.txt"); InputStreamReader read = new InputStreamReader(new FileInputStream(file), "UTF-8");// 考虑到编码格式 BufferedReader br = new BufferedReader(read); int cnt=0; while(br.ready()){ String text = br.readLine(); cnt++; if(cnt>=47334){ System.out.println(text); } System.out.println("cnt = "+cnt); } } } 原来的代码需要导入下面的类import java.nio.file.Files;import java.nio.file.Paths;但是换成这种形式import java.io.File;import java.io.FileInputStream;就是正常的,没有出错。而且还有朋友说,将原来的文本里面,将出错的那一行,删去一个字符也是不会报错的。很奇怪的问题。不知道为啥用nio.file.Files就是有问题的###### 谢邀。你可能搞错了IO和NIO之间的区别,最基本的一点是IO是面向流的,NIO面向缓冲区的,而你的代码很明显是使用了BufferedReader以及InputStreamReader流,如果使用nio,readLine根本不能读取,NIO只能读取缓冲区,扫描缓冲区的大小,并且在解析数据时,比起阻塞IO流,NIO需要付出更大的代价。"

因为相信,所以看见。 2020-05-27 16:24:27 0 浏览量 回答数 0

回答

Windows跟Linux的文本文件的格式是不一样的,只有文件的前三个字节分别是EFBBBF的时候,剩下的部分才会按照UTF-8来读取。不过EFBBBF在UTF-8里面是一个零宽空格字符(0x0000FEFF),而Java的代码是允许由空格开始的,所以你可以总是加上这个字符。建议你以后把要显示在GUI上面的字符串都写在资源里面,还能支持多语言,又不会产生这样的问题。

蛮大人123 2019-12-02 02:00:18 0 浏览量 回答数 0

问题

java解析 新浪微博Json数据,获取uid和text

杨冬芳 2019-12-01 20:17:00 1583 浏览量 回答数 1

问题

java的okhttp3库中,客户端如何开启http2协议支持 报错

因为相信,所以看见。 2020-05-25 15:57:41 13 浏览量 回答数 1

问题

关于 java String字符串截取问题

爵霸 2019-12-01 19:22:56 1097 浏览量 回答数 1

问题

json格式文件读取,坐标系转换,替换

DM。 2020-05-27 15:57:21 3 浏览量 回答数 1

回答

加大虚拟机内存吧 java -Xmx1024m ... 应该够了######我试过,不行! ######你要么是加了虚拟机内存,但没加对。要么就是不够,继续######我用Jsoup读取htm或xmll文件然后再转换成字符串操作之后又写到一个新文件中 你确定是读的过程内存溢出还是转换为String的时候溢出的?######具体我也不确定啊,我只是用Jsoup读取了之后就转换成字符串然后修改里边内容,最后再写到一个新文件里边。######明显不应该生成一个字符串,        用流写入文件######我要写成字符串对文档进行修改的,删除注释、删除文本等,否则达不到目的。

kun坤 2020-06-07 00:38:17 0 浏览量 回答数 0

问题

Java io 大文本数据 缩放:报错

kun坤 2020-06-06 16:29:53 0 浏览量 回答数 1

问题

现对每条记录取hashcode()%1000后分割成1000个文件,求问怎样分割效率高点?:报错

kun坤 2020-06-07 00:03:00 0 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 SSL证书 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 2020中国云原生 阿里云云栖号