Caminho de arquivos no ubuntu

Olá senhores. Alguém sabe como criar a instancia de um File com um caminho no Ubuntu?

Ex:

File f = new File("/home/vi/a1txt");

O Código acima não funciona. O mesmo pro abaixo:

File f = new File("\\home\\vi\\a1.txt");

Nem o de baixo:

File f = new File("C:\\home\\vi\\a1.txt");

Obrigado.

Para criar um arquivo, não use File (que é a representação de um path de arquivo ou diretório, não de um arquivo em si).

Normalmente se usa FileWriter ou FileOutputStream, não File.

A primeira sintaxe (com as barras “/”) é que é a correta. As outras são as do Windows.

Mas a primeira sintaxe continua dando erro. Por isso gostaria de saber. O que estou fazendo de errado??

Se você está querendo criar um arquivo no diretório /home/vi, você tem acesso para escrita nesse diretório?

Você sabe como funciona o controle de acesso no Linux, ou você só mexeu com Windows XP e não tem a menor idéia de que seja controle de acesso?

Não, não tenho muita noção sobre controle de acesso. Eu fiz esse esquema no Windows, no ubuntu, não. Mas pra apenas Leitura de um arquivo de texto, tem que ter permissão de super user??

Não; você precisa ter a permissão de leitura nesse arquivo. Para saber se você tem a permissão correta, execute um “ls -l” nesse arquivo e veja se as permissões para seu usuário são pelo menos “r”.

Não fique achando que para resolver qualquer coisa você tem de ser “superuser”. Linux não é Windows.

É aconselhável você se inscrever em um fórum de Linux e perguntar essas coisinhas de controle de acesso, que são um pouco chatas de entender no começo.