我知道 Linux 和 Vista 之间存在差异。我也知道在两个操作系统之间转换某些文件时会出现地址问题。我目前正在开发一个在 Windows 中生成 .ppm 文件的程序。由于生成器是用 Java 编写的,并且 Java 是平台无关的,我的程序在 linux/windows/osx 中会以相同的方式运行吗?
答案1
唯一的区别是行尾。如果你读过 ppm 的规格
http://netpbm.sourceforge.net/doc/ppm.html
你会注意到,
"All characters referred to herein are encoded in ASCII. "newline"
refers the the character known in ASCII as Line Feed or LF. A "white space"
character is space, CR, LF, TAB, VT, or FF (I.e. what the ANSI standard C
isspace() function calls white space)."
换句话说:这对你的程序来说并不重要
答案2
我认为是这样。Linux 和 Windows 应用程序处理文件的方式并没有太大区别,实际上只有文本文件具有不同的行尾顺序,并且大多数 Linux 应用程序都知道这一点并且可以解析具有错误结尾的文件。
所以我认为您的程序将以相同的方式运行并生成相同的文件。但话虽如此,这一切都取决于您,Java 能够使用本机 Windows API,如果您使用它,那么所有 Java 著名的可移植性都将不复存在。还有很多其他小事情您可以不经意地做,这些小事情会阻止 Java 以相同的方式跨平台运行,因此您最好检查它在对您来说很重要的平台上的实际运行情况。