标题:问题:重新格式化java源代码,将java源代码的次行块风格转换成行尾块风格
只看楼主
bug娃娃
Rank: 2
等 级:论坛游民
帖 子:101
专家分:27
注 册:2019-3-15
结帖率:95.24%
已结贴  问题点数:20 回复次数:3 
问题:重新格式化java源代码,将java源代码的次行块风格转换成行尾块风格
package homeWork6;

import java.util.Arrays;
import java.util.Scanner;
import *;

public class T0822 {
   public static void main(String[] args) throws Exception {
   q2();
}
    //重新格式化Java源代码
    static void q2() throws FileNotFoundException {
         File sourceFile = new File("text2.txt");         
         if(!sourceFile.exists()) {
             System.out.println("该文件还不存在");
             System.exit(0);
         }
         try(
             PrintWriter output = new PrintWriter(sourceFile);
         )
         {
             output.print("public class Text");
             output.print("{");
             output.print("public static void main(String[] args)");
             output.print("{");
             output.print("}");
             output.print("}");
         }
         
         StringBuilder str = new StringBuilder();
         Scanner input = new Scanner(sourceFile);
         if(input.hasNext()) {
             String p = input.nextLine();
             String s = p.trim();  //去掉字符串前后的空格
            
             if(s.charAt(0) == '{') {
                 str.append('{');
                 str.append("\r\n");
             }
             else {
                 str.append("\r\n" + p);
             }                 
         }
         input.close();
         
         PrintWriter outPut = new PrintWriter(sourceFile);
         outPut.print(sourceFile.toString());
         outPut.close();
    }
}
我的向我的文件里写东西,写不进去,希望路过的人们帮帮我吧!!!
搜索更多相关主题的帖子: java 源代码 风格 print output 
2019-06-17 18:14
rind
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:49
专家分:368
注 册:2018-3-8
得分:20 
程序代码:
import java.util.Arrays;
import java.util.Scanner;
import *;

public class T0822 {
   public static void main(String[] args) throws Exception {
   q2();
}
    //重新格式化Java源代码
    static void q2() throws FileNotFoundException {
         File sourceFile = new File("text2.txt");                             //相对路径
         if(!sourceFile.exists()) {
             System.out.println("该文件还不存在");
             System.exit(0);
         }
         try(
             PrintWriter output = new PrintWriter(sourceFile);                //第一次尝试打开文件,写出。
         )
         {
             output.print("public class Text");
             output.print("{");
             output.print("public static void main(String[] args)");
             output.print("{");
             output.print("}");
             output.print("}");
         }
                                                                            

         StringBuilder str = new StringBuilder();
         Scanner input = new Scanner(sourceFile);                            //第二次尝试打开文件,读入。
         if(input.hasNext()) {
             String p = input.nextLine();
             String s = p.trim();  //去掉字符串前后的空格
           

             if(s.charAt(0) == '{') {
                 str.append('{');
                 str.append("\r\n");
             }
             else {
                 str.append("\r\n" + p);
             }                

         }
         input.close();
                                                                             //str变量未使用
         PrintWriter outPut = new PrintWriter(sourceFile);                    //第三次尝试打开文件,写出,不是追加写的模式,会覆盖第一次写出的内容。
         outPut.print(sourceFile.toString());
         outPut.close();
    }
}



仅供参考,欢迎指正
2019-06-18 18:01
bug娃娃
Rank: 2
等 级:论坛游民
帖 子:101
专家分:27
注 册:2019-3-15
得分:0 
我是不是该把str再放入文件里?
2019-06-18 21:18
rind
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:49
专家分:368
注 册:2018-3-8
得分:0 
回复 3楼 bug娃娃
也可以,但是如果是出于效率考虑,直接在末尾追加可能会更有效率。
程序代码:
// str变量未使用
System.out.println(str);        //打印输出读入内容。
//PrintWriter outPut = new PrintWriter(sourceFile);                    //第三次尝试打开文件,写出,不是追加写的模式,会覆盖第一次写出的内容。
//查看源码,PrintWriter构造方法调用的方法里,可以使用具有追加模式的的FileOutputStream。
PrintWriter outPut = new PrintWriter(new BufferedOutputStream(new FileOutputStream(sourceFile, true)));    



[此贴子已经被作者于2019-6-19 10:50编辑过]


仅供参考,欢迎指正
2019-06-19 10:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495314-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.117261 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved