我有一个文件夹,其中包含以时间戳命名的文件.
当我尝试浏览每个文件时,它按字母顺序排序并给我这个顺序:
/home/user/buffereddata/1
/home/user/buffereddata/100
/home/user/buffereddata/1000
/home/user/buffereddata/200
/home/user/buffereddata/2000
/home/user/buffereddata/300
Run Code Online (Sandbox Code Playgroud)
但我希望它们像这样排序:
/home/user/buffereddata/1
/home/user/buffereddata/100
/home/user/buffereddata/200
/home/user/buffereddata/300
/home/user/buffereddata/1000
/home/user/buffereddata/2000
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
File file = new File(System.getProperty("user.home") + "/buffereddata");
if(file.exists()) {
File[] fileArray = file.listFiles();
Arrays.sort(fileArray);
for(File f : fileArray) {
System.out.println(f);
}
}
Run Code Online (Sandbox Code Playgroud)
是否有一些(最好是简单的)循环文件的方式,我想循环它们?
我试图在我的 Ubuntu 系统上安装 VM 软件。由于我对 linux 不是很熟悉,所以我遵循了官方 Ubuntu 站点上的指南。现在我在 Xen 环境中运行 Ubuntu,但我不想使用 Xen 来制作我的虚拟机。
我安装了 Virtualbox 以创建我的 VM,但 Virtualbox 不能在 Xen 环境中运行。
我曾尝试使用谷歌搜索从我的系统中删除 Xen 的方法,但我无法做到。这是我迄今为止尝试过的:
/boot/grub/grub.cfg set default="Xen 4.1-amd64"以设置default=1教程推荐的设置。它使我的笔记本电脑以恢复模式启动,我必须生成一个新的 grub 配置文件,将默认值恢复为 xen。/boot/grub/menu.lst但我的系统上没有任何称为该文件的文件user@BEL-8WF4XW1:~$ sudo find / -name menu.lst
用户@BEL-8WF4XW1:~$
make uninstall但我没有使用源代码。yum并执行sudo yum install kernel其次,sudo yum remove xen kernel-xen libvirt但这也不起作用。老实说,我很失落。任何人都可以帮助我让我的 Ubuntu 恢复到我尝试遵循该指南之前的状态吗?
我现在很困惑.
我有一个GregorianCalendar对象,我给出了具体日期(2010年1月1日).
日历:
Calendar c = new GregorianCalendar();
c.set(2010, 0, 1);
System.out.println(c.getTime());
System.out.println(c.getTimeInMillis());
Run Code Online (Sandbox Code Playgroud)
输出:
2010年1月1日星期五13:12:57 CET
1262347977927
现在,当我尝试创建long并在其中存储此数字时,该数字实际上对于我的变量来说太大了.
存储在变量中:
long timeStamp = 1262347977927;
// ERROR: The literal 1262347977927 of type int is out of range
Run Code Online (Sandbox Code Playgroud)
但是当我将结果直接存储到我的变量中时,它的工作正常.
直接存储:
long timeStamp = c.getTimeInMillis();
System.out.println(timeStamp);
Run Code Online (Sandbox Code Playgroud)
输出:
1262348451631
为什么我变得太长而不长,但又不长就不长?我糊涂了.
如果有人想知道,我正在使用Java 6和Eclipse Indigo.
编辑:感谢所有即时答案......我现在感觉很愚蠢:p
我正在尝试写入已存在的文件.据我在论坛上看到,这段代码应该重写旧文件,但不是重写,而是将文件名放入[]括号中并创建一个新文件.任何的想法?
try {
File file = new File("/home/erik/glassfish3/" + selectedMss + ".ini");
BufferedWriter output = new BufferedWriter(new FileWriter(file));
for (String newline : content) {
output.write(newline + "\n");
}
output.close();
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) 我经常看到这样的代码:
Listener mListener;
public void setListener(Listener listener){
mListener=listener;
}
public void fooFunction(){
...
...
if (mListener!=null){
mListener.notifyFoo();
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:如果在null检查和notifyFoo()之间另一个线程调用setListener(null)怎么办?那可能吗?或者编译器是否使其具有原子性
我正在尝试使用 CMake 构建 OpenCV,但是当我构建它时,有些东西出错了,我不知道如何修复它。
所以问题基本上是:我该如何修复它?
user@BEL-PC:~/opencv/build$ cmake -DBUILD_SHARED_LIBS=OFF ..
-- The CXX compiler identification is unknown
-- The C compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
-- Performing Test HAVE_CXX_FSIGNED_CHAR
CMake Error at /usr/share/cmake-2.8/Modules/CMakeCXXInformation.cmake:37 …Run Code Online (Sandbox Code Playgroud) 我有一个登录时间格式
31/Mar/2013:17:03:30 -0700
我想在时区将其转换为时间戳-70.我怎样才能做到这一点?
try {
String time = myMap.get("timestamp");
String splitTime[] = time.split("-");//input Timestamp 31/Mar/2013:17:03:30 -0700
Date date = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss").parse(splitTime[0]);
myMap.put("timestamp", String.valueOf(new Long(date.getTime() / 1000)));
} catch (ParseException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
我该如何使用这个时区?