当前位置: 首页 > 面试题库 >

打印整个Java项目的源代码

李凯定
2023-03-14
问题内容

我必须打印Java项目的整个源代码。最终版本应如下所示: Eclipse:File- > Print。但是使用此功能,您一次只能打印一个文件。

有没有一种方法可以使用一个命令打印(或创建pdf / rtf)整个项目(所有 .java,。xml,…文件)?

我在Windows XP SP3上使用Eclipse Galileo

编辑: 对于每个类/文件,页面应(或多或少)如下所示:

C:\ .. \ .. \ .. \ LibraryExtractor.java

1 package utils.libraries;
2
3 import java.io.File;
9
10 /**
11 * @
12 * @
13 * @
14 */
15 public class LibraryExtractor {
16
17 /**
18 * 
19 * 
20 *
21 * 
22 * 
23 *
24 *
25 */
26 public static void extranctLibrary(String library, File targetFile) throws
IOException, URISyntaxException {
27 targetFile.getParentFile().mkdirs();
28 if (!targetFile.exists())
29 targetFile.createNewFile();
30
31 ClassLoader classLoader = LibraryExtractor.class.getClassLoader();
32 InputStream in = classLoader.getResourceAsStream(library);
33 OutputStream out = new FileOutputStream(targetFile);
34
35 byte[] buf = new byte[1024];
36 int len;
37
38 while ((len = in.read(buf)) > 0)
39 out.write(buf, 0, len);
40
41 in.close();
42 out.close();
43 }
44 }
45

问题答案:

如果您不介意安装Cygwin或在Linux上运行,则以下命令将满足您的要求:

enscript -r -2 --file-align=2 --highlight --line-numbers -o - `find . -name '*.java'` | ps2pdf - files.pdf

enscript
是一个用于将文本文件转换为多种输出格式程序;PostScript是默认的,但您也可以生成HTML,RTF和其他一些。该-r选项表示以横向打印,-2即每页两列(保存树),--file- align=2表示每个新文件应在其自己的物理页上开始,--highlight打开特定于语言的语法突出显示(它将尝试找出该语言,或者可以指定“
java”),--line-numbers应该很明显,然后-o -将输出发送到standard-out(通过管道将其输出到 ps2pdf )。

find 生成文件列表;在这里,我告诉它在当前目录下找到所有Java文件。输出作为参数传递给 enscript ; 对于“
50-100个文件”,您应该可以,但可能需要阅读有关 xargs的信息
。您可以删除-name参数以生成所有文件的列表,或者添加多个-name参数以将更多文件类型添加到列表;我不会采用“所有文件”方法,因为那样您将获得源代码控制文件。

ps2pdfenscript 获取PostScript输出,并将其转换为PDF,然后可以打印。



 类似资料:
  • 问题内容: 我正在将Python 2.7与Selenium WebDriver一起使用。我的问题是如何使用方法打印整个页面源。有webdriver方法,但是它返回WebDriver,我不知道如何将其转换为String或仅在终端中打印 问题答案: 在一个实例上,您需要的是:

  • $ gdb -q `which gdb` (gdb) l 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 18

  • 我将尝试解释我的问题。我有一个带有几个字符串的Arraylist。我有一个输出方法: 因此,根据我需要的数据,我可以使用我的输出方法并输入我的值。如果我输入0作为testIndex,它将打印“test1”。 不过我想让它变得更好一点。我想做的是,每当我调用output方法时,我希望它打印出第一项。当我第二次调用它时,我希望它打印出第二项。当我第三次叫它时,我想把第三项打印出来。。等等 我该怎么做?

  • 问题内容: 今天才开始学习Java,似乎无法弄清楚。我正在学习Learnjavaonline.org上的教程,该教程教您一些知识,然后要求您编写代码来完成特定的事情,然后检查输出以查看其正确性。问题是,如果它不正确,则不会说出原因,也不会给出正确代码的示例。 它希望我使用所有原语输出一个字符串,说“ H3110 w0r1d 2.0 true” 我想出了这个 } 但它输出 我怎样才能使它不将所有整数

  • 问题内容: 我需要通过jasperreport打印整个地图 例: 应该选择什么数据源? 包含哪些报告来源? PS:我不想直接获得像$ P {key11}这样的值 问题答案: 我会尝试这样的 在碧玉报告中,您的字段将是 注意:我如何使用Bean 和创建数据源 如果您只想实现a 并使用,则将不会对值进行排序。

  • 应该选择什么数据源? containts报告来源应该是什么? PS:我不想直接获得像$P{key11}这样的值