写了个程序,可以将指定文件的内容转换成二进制,然后输出到一个文件中去,源码:- import java.io.*;
- class StrToBinary{
-
- public static void main(String args[]){
-
-
- BufferedReader bufr=null;
- BufferedWriter bufw=null;
-
- try{
-
- bufr=new BufferedReader(new FileReader("Tmax.java"));
- bufw=new BufferedWriter(new FileWriter("Tmax.txt"));
-
- String line=null;
- while((line=bufr.readLine())!=null){
-
- //调用strToBinary方法
- String result=strToBinary(line);
- bufw.write(result);
- bufw.newLine();
- //System.out.println(result);
-
- }
-
-
- }catch(IOException e){
-
- throw new RuntimeException("读写失败");
- }
-
- finally{
-
- try{
-
- if(bufr!=null) bufr.close();
-
- }catch(IOException e){
-
- throw new RuntimeException("读取流关闭失败");
- }
-
- try{
-
- if(bufw!=null) bufw.close();
-
- }catch(IOException e){
-
- throw new RuntimeException("写入流关闭失败");
- }
- }
-
- }
- //定义字符串转换成二进制方法
- static String strToBinary(String str){
-
- char[] strChar=str.toCharArray();
- String result=null;
- for(int i=0;i<strChar.length;i++){
-
- result +=Integer.toBinaryString(strChar[i]);
-
- }
-
- return result;
- }
- }
复制代码 我读取了一个.java文件,于是问题出来了,如果在那个java文件代码前面加入一些空格,就会报告异常:- --------------------Configuration: <Default>--------------------
- Exception in thread "main" java.lang.NullPointerException
- at java.io.Writer.write(Writer.java:140)
- at StrToBinary.main(StrToBinary.java:21)
- Process completed.
复制代码 如果把那个java文件里的开始的空格去掉,运行后打印出来的是二进制文件,但是每个二进制字符之前都会有个null,不知为何故- null1110000111010111000101101100110100111000111000001100011110110011000011110011111001110000010101001101101110000111110001111011
- null1001
复制代码 |
|