Java中用数据流读记事本中的数字显示不正常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中用数据流读记事本中的数字显示不正常相关的知识,希望对你有一定的参考价值。

我用java编写程序读取.txt文件中的数字,但总是显示不正常,比如记事本中是数字1,读到JTextArea中就成了3276832,这是什么原因?(记事本是unicode编码,不然不能显示汉字)
真是不好意思忘说了,规定用数据流或对象流

你一定是从字节流转成字符流的时候没有写字符集,所以才会成了乱码。
像下面那样指定字符集为"unicode"就没有问题了。
try
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("c:\\a.txt"), "unicode"));
catch (UnsupportedEncodingException e)
e.printStackTrace();
catch (FileNotFoundException e)
e.printStackTrace();
参考技术A 给你写个方法,你用下吧。
public void readFile(String filename)
BufferedReader in = null;
String s = null;
try
in = new BufferedReader(new FileReader(filename));
while ((s = in.readLine()) != null)
System.out.println(s);


in.close();
catch (Exception e)
System.out.println("打开失败!");

参考技术B 串行化?
那个怎么能用来读文本呢
是用来读保存的对象信息的啊

编写java程序,用户手动输入判断是不是为回文字符串(从前向后读从后向前读是一样,输入内容不能固定)

package test;
import java.util.Scanner;

public class Huiw
/**
* @param args
*/
public static void main(String[] args)
Scanner scanner =new Scanner(System.in);
System.out.println("输入一个正整数");

int iIn=scanner.nextInt(); //接收输入的数字
int k=0,iB=iIn;
int[] A=new int[10];
for ( ;iB>0;) //把数字拆分,放入数组
A[k++]=iB%10;
iB=iB/10;
//System.out.print(A[k]);

//System.out.println(k);
// for(int j=0;j<k;j++)
// System.out.print(A[j]+" ");

int i=0;
for(;i<k/2;i++)
if (A[i]!=A[k-i-1])
System.out.println("NO");
break;


// System.out.println(i);
// System.out.println(k);
if(i==k/2)
System.out.println("YES");

参考技术A public static boolean isEchoWord(String word) 
    for (int i = 0; i < word.length() + 1 / 2; i++) 
        if (word.charAt(i) != word.charAt(word.length() - 1 - i)) 
            return false;
        
    
    return true;


public static void main(String args[]) throws IOException 
    System.out.println("please input word:");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    for (String input = br.readLine(); !"exit".equals(input); input = br.readLine()) 
        System.out.println(isEchoWord(input));
    

参考技术B 你可以用栈的方法试试,先入后出,然后判断

以上是关于Java中用数据流读记事本中的数字显示不正常的主要内容,如果未能解决你的问题,请参考以下文章

Base64编码及iOS中的Base64

WinForm中用WebBrowser控件显示Excel文件,显示失败

与 在记事本中的内容表现方式 原创

Java导出csv数字如何不以科学计数显示,不能改变原来的值

datetime 空值显示

如何用把Arraylist中的结果在jsp页面中用分页显示?java+jsp语言