java 如何获取文件的换行符 5C

现在需要得到文件的换行符 但是使用BufferReader .readLine()读取一行时是忽略了换行符的 怎么使用BufferReader .read()得到文件的换行符或者是其他方式得到文件的换行符

5个回答

import java.io.FileReader;
import java.io.IOException;

public class FileReadWrite
{
public static void main(String[] args)
{
FileReader reader = null;
try
{
// 选用指定文件路径的构造方法
reader = new FileReader("test.txt");
int data = -1;
// 从此输入流中读取一个数据字节,如果已到达文件末尾,则返回 -1
while ((data = reader.read()) != -1)
{
// 准备的文件为文本文件,且内容为阿拉伯数字,所以直接强制转换为字符输出
System.out.print((char) data);
}
}
catch (IOException e)
{
// 异常处理
e.printStackTrace();
}
finally
{
try
{
if (reader != null)
{
// 关闭输入流
reader.close();
}
}
catch (IOException e)
{
}
}
}
}

这样一个个字符读取 就不会漏了换行符

import java.io.FileReader;
import java.io.IOException;

public class FileReadWrite
{
public static void main(String[] args)
{
FileReader reader = null;
try
{
// 构造文件
reader = new FileReader("test.txt");
int data = -1;
// 读取一个数据字节,如果已到达文件末尾,则返回 -1
while ((data = reader.read()) != -1)
{
// 准备的文件为文本文件,且内容为阿拉伯数字,所以直接强制转换为字符输出
System.out.print((char) data);
}
}
catch (IOException e)
{
// 异常处理
e.printStackTrace();
}
finally
{
try
{
if (reader != null)
{
// 关闭输入流
reader.close();
}
}
catch (IOException e)
{
}
}
}
}

这样一个个字符读取 就不会漏了换行符

自己写的工具类,希望适用

   /**
   * 按行读取文件
   * @param file
   * @param fromLineNum
   * @param charset
   * @return
   */
  public static List<String> readLines(File file,int fromLineNum,Charset charset) {
    List<String> lines=new ArrayList<String>();
    int prechar=-1;
    int lineNum=0;
    InputStream is=null;
    try {
      is=new FileInputStream(file);
      int data=0;
      List<Byte> bList=new ArrayList<Byte>();
      while((data=is.read())!=-1) {
        byte x=(byte) (data>127?data-256:data);
        if(data=='\n') {
         lineNum+=1;
         if(prechar=='\r') {
           bList.remove(bList.size()-1);
         }
         byte bs[]=new byte[bList.size()];
         for(int i=0;i<bList.size();i++) {
           bs[i]=bList.get(i);
         }
         if(lineNum>=fromLineNum) {
           String line=new String(bs,0,bs.length,charset);
           lines.add(line);
         }
         bList.clear();
        }else {
          bList.add(x);
        }
        prechar=data;
      }
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }finally {
      if(is!=null) {
        try {
          is.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
    return lines;
  }

利用ASCII码获取 可以直接用CHAR类型输入ASCII码值

你还是对字符编码吧,.readLine()遇到换行会被当做结束符的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java获取系统中的换行符
System.getProperty(&quot;line.separator&quot;) window上是\r\n linux上是\n unix上是\r
获取换行符
写了一个将一个文本的内容复制到另一个文本中的程序,发现换行符无法获取,查了一下,发现了两个解决方法 1.在换行的地方手动添加换行 2.用fget()函数 char * fgets ( char * str, int num, FILE * stream ); Reads characters from stream and stores them as a C string into 
java写文件如何加换行符?
rn我想把数据从数据库中读出来,然后将字段值连接起来,再写到文件中去,rn每写完一行就换行,rn再重复上面的工作,真到数据全部读出来.rnrn读出来,并写进去可以实现,可是要让它换行如何现实呢?请大家帮我一下,rnrn如:FileWriter之类的都可以,可就是不能自动换行,请大家帮我一下
Java 文件换行符识别与转换
项目经验,如需转载,请注明作者:Yuloran (t.cn/EGU6c76) 背景 项目开发需要手动合入几十种语言的翻译到 string.xml 中,这是一件非常痛苦的事情:Copy、Paste,Copy、Paste,Copy、Paste... 人都快疯了!被逼无奈写了个自动替换翻译的工具,原理很简单:解析 Excel中的翻译,替换到 Xml 中。Excel 解析用 jxl.jar,Xml 解...
Java导出word文件换行符
在到出word文件时,经常要用到换行符,如果在代码中写“\n”,则会被替换成空格。 方法之一:是在需要设置换行的地方添加字符串“&lt;w:br /&gt;”,word文件中只识别这种标志符号 ...
文件换行符
在项目中,要提供下载文本文件的功能,在java代码中,直接使用了println的方法,向文件中写入一条记录。 在windows环境中一切都正常,但是在linux的机器上,下载文件在UE中打开的时候,提示要转成dos格式的。 后来在查询资料以后,发现,windows和dos环境下,文件的换行符是\r\n,但是在linux环境中,文件的换行符是\n 所以在java中使用write方法来写文件,在...
windows文件换行符与linux文件换行符
首先提醒一点:这里要说明的是文件换行符,而不是程序中输出字符串的换行符(例如:eclipse控制台输出在java程序中用\r或\n或者\r\n都能达到换行输出的效果)。 [size=medium]操作系统换行符[/size] ASCII(美国信息交换标准码)中有这样两个字符CR(编码为13)和 LF(编码为10),在编程中通常表示为'\r'和'\n'。以下是各操作系...
java 换行符
java 换行符
java换行符
java中写txt文件,实现换行的几种方法:  1.使用java中的转义符"\r\n":  不区分环境下的System.getProperty("line.separator") windows下的文本文件换行符:\r\n  linux/unix下的文本文件换行符:\n  Mac下的文本文件换行符:\r 2:使用换行符的选择 如果希望在linux环境下换行,在window系统中通过记
JAVA换行符
回车用:String.valueOf((char) 0x0D)换行用:String.valueOf((char) 0x0A)回车换行用:String.valueOf((char) 0x0D) + String.valueOf((char) 0x0A)这么用,不管你拿到哪里去运行都不会有问题....
java中获取系统的换行符和文件系统分隔符
楔子 java操作文件是涉及到换行符。apache.commons.io.IOUtils 中会自动获取换行符。虽然不清楚 IO jar是怎么实现的。 IOUtils中代码 public static final String LINE_SEPARATOR_UNIX = &quot;\n&quot;; /** * The Windows line separator st...
java如何获取文件的大小
工具类 /** * 获取文件大小 * * @param size * @return */ public static String getPrintSize(long size) { // 如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义 if (size &lt; 10...
获取当前系统的换行符
/** * 获取当前系统的换行符 */ public static final String NEW_LINE = System.getProperty("line.separator");
JS如何获取HTML源码中的换行符
HTML源码中代码片断(字符串)为如下形式rnrn字符串1rn字符串2rn字符串3rnrn而在HTML页面中显示如下:rnrn字符串1 字符串2 字符串3rnrnrn现拟实现JS动态给每行(HTML源码)字符串前插入一个HTML标签,如:rn 字符串1rn 字符串2rn 字符串3rnrn请问该如何实现
如何获取字符里面的换行符
在网页上看,内容显示是这样的rn[code=html]rn再见了,我的宿舍, 再见了,我的兄弟, 再见了,我的青春, 再 见,我的大学。 青春散场,我们等待下一场开幕。 等待我们在前面的旅途里,迎着阳光,勇敢地飞向心里的梦想;等待我们在前面的故事里,就着星光,回忆这生命中最美好的四年,盛开过的花……rn[/code]rn查看网页源代码的时候发现内容是下面这样的rn[code=html]rn再见了,我的宿舍,rnrn再见了,我的兄弟,rnrn再见了,我的青春,rnrn再 见,我的大学。rnrn青春散场,我们等待下一场开幕。rnrn等待我们在前面的旅途里,迎着阳光,勇敢地飞向心里的梦想;等待我们在前面的故事里,就着星光,回忆这生命中最美好的四年,盛开过的花……rnrn[/code]rn想按照网页源代码里面的格式显示内容,请问如何实现呢?rnrnps:帐号被盗,分没了,只有这些了,悲催
C++中gets()如何获取最后的换行符
请各位高手们帮个小忙,看看下面这个问题要如何解决。。。rnrn这里定义一个字符数组,char ch[100],用gets(ch)的方法获某一行的字符串后,如何将最后的换行符也获取到,并将字符串和换行符一起输出到一个文件中。rn如:rnrnint main()rnrn string s;//存文件名rn cin>>s;rn ofstream fout(s.c_str());rn char ch[100];rn int n;//行数rn int i=0;rn cin>>n;rn while(i
Windows文件换行符转Linux换行符
前段时间,有个朋友碰到由于Windows的换行符和Linux换行符不一样,导致程序编译不通过。这个问题之前自己也碰到过,网上资料也蛮多,不过还是借此总结总结,因为发现总结+实践的方式能够让自己更好的提升。 操作系统文件换行符       首先介绍下,在ASCII中存在这样两个字符CR(编码为13)和 LF(编码为10),在编程中我们一般称其分别为'\r'和'\n'。他们被用来作为换行标
csv文件换行符问题
我项目有一个功能:rn 用户下载我们提供的excel模板(注意是excel文件),然后根据要求填好数据,excel文件里一行代表一条完整数据信息,然后用户必须转换成csv文件格式,再上传到服务器中(程序要求只能导入csv文件),最后由后台程序解析并导入到数据库里。这里有个问题:当excel文件里如果其中一行存在换行符,那么本来在excel文件里是一行的信息,转化成csv文件时就分割成2行了(可以通过TextPad工具看到),这样在进行导入时程序就会把一条数据完整数据当作两条数据进行导入处理,如果一行中有多个分隔符,就会被分割成好几行信息。这个怎么处理??rn 还有个疑问,当我用TextPad工具打开时显示多行,当用excel打开文件时,又显示在一行里,excel是怎么知道这几行其实同属一行信息的??? rn 我个人觉得只要知道excel是怎么解决这个换行符的那么在项目中也就可以仿照excel的处理方式进行处理。rn 处理程序我是这样读的:rn FileReader fileReader = new FileReader(cvsFile);rn BufferedReader bufferedReader = new BufferedReader(fileReader);rn while ((strLine = bufferedReader.readLine()) != null) rn //处理程序rnrnrn我验证后发现,其实是读文件的时候已经把一行当作几行来读了(执行了好几次while语句),如果可以改变读文件的方式(让程序读取完整的一行信息),那么整个程序也就没问题了。
去除文件中的换行符
awk '{printf(&quot;%s&quot;,$0)}' file.txt &amp;gt; file.txt.tmp &amp;amp;&amp;amp; mv file.txt.tmp file.txt  
在读取unix文件如何处理换行符
unix下的文本文件拿到windows中,换行符都成为“▋”,整个文件内容在记事本中就成为一行(用了自动换行)。rn我用open 文件名 for input access as #1rn然后 line input #1, S (S事先定义为String),就会将整个一行都读下来包括“▋”。然后用print S,则会自动分行。rnrn我的目的是将unix文本文件的内容一行一行读下来,即每次就读两个“▋”之间的内容,该如何写呢?
文件中换行符如何处理,困扰(数据导入)
我想将一CSV文件通过外部表的方式进行访问(在数据仓库中建外部表访问),但原始文件中有几栏数据中存在回车换行符号,如果不处理,外部表就会默认成多行数据,但我又不能手动处理,因为该文件是系统定时生成,所以也需要自动处理这些回车换行符,在访问CSV文件的过程中能否作一些初始化呢?有哪位大侠有此经验?多谢!
vs2003 如何去掉文件最后的换行符
我做了一个程序, 读取一个中英文句子对齐的文件file1500,然后把该文件的内容分成中文和英文,分别放入两个文件fileEn和fileCh中,怎么去掉两个文件fileEn和fileCh最后的空行呢?rnfile1500的格式如下: rn英文 rn中文 rn英文 rn中文 rn... rn总共3000行,1500行英文,1500行中文。 rn当然,可以在读取到最后两行的时候停止,最后两行另外读取,输入文件的时候就不输入endl了,但是想知道能不能直接读取后再去掉换行符呢? rn源代码如下: rnrn#include rn#include rn#include rnrnusing namespace std; rnrnvoid main() rn rnifstream file1500; rnofstream fileEn; rnofstream fileCh; rnrnfile1500.open("D:\\make a translator on yourself with current tools\\1500.txt"); rnfileEn.open("D:\\make a translator on yourself with current tools\\English.txt"); rnfileCh.open("D:\\make a translator on yourself with current tools\\Chinese.txt"); rnstring temp; rnint i=1; rnrnwhile (file1500.good() && i <3001) rn rnstd::getline(file1500, temp); rnif(i%2) rn rnfileEn <
如何输出一个回车换行符到文件中
小弟现在在做一个小程序,在输出回车换行符到文件中的时候遇到了难题。希望高手赐教。谢谢先拉。
java代码获取在不同系统下的换行符
据我所知,windows下的文本文件换行符:\r\n linux/unix下的文本文件换行符:\r Mac下的文本文件换行符:\n 那么在java中得到换行符要怎么得到呢?我们可以根据该方法(System.lineSeparator())来判断,只是jdk必须在1.7以上;           String line = System.lineSeparator()
java中的换行符
1.问题发现: 在学习转义字符时,编写了如下代码: import java.io.*; public class RN {  public static void main(String[] args)  {   String str="we are\r\n young";   System.out.print("We are\r\nyoung");   
Java平台相关的换行符
换行符 String nextLine = System.getProperty("line.separator");
Java替换换行符
前端录入的信息,有换行符\r\n,后面拿到数据库存储的数据后需要在前端页面上换行予以显示。 String testStr = "换行\r\n换行"; String result = testStr.replaceAll("(\\r\\n|\\n|\\n\\r)","&lt;br/&gt;"); 不用\\\\r\\\\n进行替换,如果字段之间包含\r\n则需要这样进行替换。 已经转义的则使用\...
Java中测试换行符
测试换行符的作用 [code=&quot;java&quot;] public class test { public static void main(String[] args) { String mobileMsg = &quot;hh&quot;; String mobileMsg2 = &quot;hh&quot;; String mobileMsg3 = &quot;hh&quot;; mobileMsg= mobileMsg+&quot;该邮...
java 去除字符串的换行符
//要去除换行符的字符串 String result = &quot;&quot;; Pattern p = Pattern.compile(&quot;\\s*|\t|\r|\n&quot;); Matcher m = p.matcher(result); result = m.replaceAll(&quot;&quot;);  
Java如何识别String中的换行符(\n)
问题背景: 在一个EditText里面输入\n,在获取的String中直接获取的是“\n”这两个字符,而非作为一个回车。 解决: String result = editextString.replaceAll(&quot;\\\\n&quot;, &quot;\n&quot;) 参考: https://www.javaworld.com/article/3188545/learn-java/java-101-regular-expr...
java解析mxl 如何读取回车换行符?
xml文件中,元素的属性值中是否可以包含回车换行符?如果可以,用java解析xml时,如何读取回车换行符?rn比如:rn rn 如何读取“hello”与“world”见的回车换行符?我用dom解析时,读出的rn 是一个空格,即:hello world。rn请各位帮忙看看,谢谢
Java换行符的简单讨论
之前一直没过多挖掘过Java的换行符,今天了解到,不同系统中Java的换行符是不一样的:Linux,Unix系统的换行是”\n”,而Windows的换行并不是直接的”\n”,是”\r\n”,于是简单讨论一下。
java 和mysql中的换行符
今天在做一个微信应用的时候又学到了一点小知识。mysql中不能存放换行符,如果你硬要将\n存进去,当你读取出来的时候发现\n是两个字符,而不是一个完整的换行符。弄清楚这个了,就将mysql中需要换行的地方用替换,应用从数据库中读取出来的文字用'\n'来替换下就可以实现换行了。...
java 不同操作系统的换行符
windows linux中的换行 是不一样的 linux System.getProperty(&quot;line.separator&quot;); q
java如何处理文本文件中的换行符
大家好,我要通过java处理文本文件。文本文件中有很多换行符,在文件里就是一个小黑方块。请问在处理的时候怎么表示换行符?rn比如我希望查找一个字符串。这个字符串由一个换行符 + “SC” + 一个空格组成,请问在string.Indexof应该怎么写?rnrn谢谢!
java 如何 向txt文件写入换行符?
[code=java]rn/* 获得socket输入流 ,允许每次读取一行 */rn br = new BufferedReader(new InputStreamReader(rn socket.getInputStream()));rn /* 获得文件输出流 ,允许每次写取一行 */rn bw = new BufferedWriter(new OutputStreamWriter(rn new FileOutputStream(savePath)));rn /* 接收文件 */rn System.out.println("开始接收文件!" + "\n");rn String line = null;rn rn while ((line = br.readLine()) != null) rn /*向本地写入文件*/rn bw.write(line + "\r\n");rn //bw.newLine();rn rn bw.flush();rn[/code]rn[color=#FF0000]以上代码不能向txt文件写入换行,几种方法都试过了,还是不行,我用下面代码获得系统的换行符时,返回的是null,本人系统是win7 64位。请大神们指教,是什么原因?[/color]rn[code=java]rnString endLine = System.getProperty("line.separator", "\n"); // 获取换行符rn String endLine2 = System.getProperty("line.separator"); // 获取换行符rn rn System.out.println("换行符为" + endLine);rn System.out.println("换行符为" + endLine2);[/code]
java获取文件编码格式
通过webview打开html文件有可能编码不同就会乱码,所以要获取html文件的编码格式动态改变webview编码设置
JAVA获取文件的行数
private int getFileLineNumber(File file) throws IOException { LineNumberReader lnr = new LineNumberReader(new FileReader(file)); lnr.skip(Long.MAX_VALUE); int lineNo = lnr.get...
Java 获取文件默认编码
//file.encoding获取的仅仅是main入口函数文件的编码 String encoding=System.getProperty("file.encoding"); System.out.println("当前编码:"+encoding);
java获取远端文件
怎样用java读取远端的文件?rn请各位高手讲讲阿?rn大概讲讲就可以了,当然说详细点更好
相关热词 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法 c# gmail 发邮件 c# 多层文件

相似问题

4
输入多组数据(不确定个数),要求输出每行后面都有换行符,但最后一行后面没有 怎么实现
4
linux去掉特定的换行符、选出同名最长序列
6
读取TXT文件后,将内容存入到数组中,换行符被当作0存入,怎么去掉?
1
properties文件多级传递参数占位符的问题
5
Java properties文件变量引用
1
ZT210型号的斑马打印机,换行符是什么
2
Java 位运算符>>和>>>有什么区别?
2
Java中如何证明条件运算符(?:)的结合性是从右向左?
1
Java中如何理解条件运算符的结合性与运算顺序的区别?
5
下面的代码在DOM树中为什么不表示为一个换行符?
1
sed多行处理保留模式空间内的换行符输出
3
jdk11.0.1可以配合什么工具编写Java,这些工具哪个好,好在哪
1
请教如何把字符串作为分隔符把文件分割成不同文件
1
在Android屏幕适配的时候,出现了value -480*320中的dimen“x299”在基值文件夹中没有声明如何解决呢?
0
请教关于java读取DB2数据库导出 分组符GS 分隔.del文件问题
1
aspose对空白单元格getText()返回了,怎样判断单元格是否为空?
2
html如何实现长英文单词换行,并且添加中划线换行符(连字符)?
2
C++如何判断下一个读取字符的类型?
2
android 开发 获取pdf 的通用标识符
0
如何使用GitLab的API来提交和下载文件到Git远程仓库或者本地的时候,换行符Crlf和Lf的问题?