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中用数据流读记事本中的数字显示不正常的主要内容,如果未能解决你的问题,请参考以下文章
WinForm中用WebBrowser控件显示Excel文件,显示失败