我正在试图弄清楚如何打开给定文件的系统首选编辑器.
比如,我们有一个用Java编写的文件管理器.用户转到文件夹并查看文件列表.例如,有一个文件Icon.jpg.用户双击文件名和文件将在系统首选编辑器(即Gimp)中打开.主要问题是 - 如何做到这一点?
我们可以这样做Runtime.getRuntime().exec("something file"),但是这样你应该知道在用户环境中首选哪个程序.但是怎么样?
我们也能做到Desktop.getDesktop().edit(File file),但是这样我们就无法跟踪进程,也无法知道这个子进程是否已关闭.其他问题 - 函数在linux上不起作用(至少在Ubuntu 8.10上).还有Desktop.getDesktop().open(File file),但它强制打开文件查看器,而不是该文件类型的系统查看器.
我整个星期都在寻找解决方案,但没有任何合适的通用解决方案.你知道这个问题的其他方法吗?对于我的项目,如果它可以在Windows + Linux + Mac上运行就足够了.
感谢您的回答和建议.
编辑于2009-02-08 23:04
其他建议:我可以在Windows和Linux中强制"应用程序选择"窗口,就像Mac中的"打开文件"一样吗?例如,然后您尝试打开文件,系统会要求您从系统首选列表中选择应用程序?(类似于Windows资源管理器中的"打开方式...").你知道吗?
我有一个java程序,它将标题和数据作为输入并生成一个excel文件.
但是,有时当标题值很长并且列数更多时,我的Excel工作表往往会不必要地变宽.
由于标题,我将向下滚动到右边以查看尾端列的内容.
有没有办法可以解决这个问题,如果单元格中的内容比较大,然后说值x,则自动换行并自动调整行高并修改列宽.
我正在寻找的粗略算法是:
if(content.size is more then 50 chars){
- apply auto wrap with centred text
- adjust the row height accordingly
- adjust all the cells in the column accordingly
}
Run Code Online (Sandbox Code Playgroud)
如果有人能指出我在网上提供的一些例子.
谢谢阅读!
我正在使用hsqldb和hibernate执行查询.我有一份声明: -
Query query = em
.createQuery("SELECT DISTINCT new com.mytransferobject.QuickSearchResultTO(m.id, m.firstName||' '||m.surname, '') " +
"FROM Member m, ClassC c, ClassCm cm " +
"WHERE c.id = cm.clubId AND m.id = cm.memberId " +
"AND c.lft >= :lft AND c.lft <= :rgt " +
"AND (firstName LIKE :memberName OR surname LIKE :memberName) " +
"AND m.deleted = false " +
"AND c.deleted = false " +
"ORDER BY m.firstName, m.surname");
query.setParameter("lft", lft);
query.setParameter("rgt", rgt);
query.setParameter("memberName", memberName + "%");
Run Code Online (Sandbox Code Playgroud)
这在MYSQL中工作正常,但在我的测试代码中失败(使用hsqldb 2.2.6).我尝试将它们连接在一起并且它工作正常,但这是一个高度使用的查询,所以我想避免任何不必要的操作. …
使用mintty作为终端,像这样运行:
C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -
Run Code Online (Sandbox Code Playgroud)
我不能输入像〜,[,{...这样的字符
但我可以在windows cmd终端上键入所有这些字符,在cygwin默认终端上运行cygwin.bat:
@echo off
C:
chdir C:\cygwin64\bin
bash --login -i
Run Code Online (Sandbox Code Playgroud)
什么在我的键盘上做薄荷?
*仅在使用Teamviewer*远程记录时才会发生这种情况