2016-05-10 23 views
5

In java, quando creiamo un file, creiamo file usando il nome dell'estensione. Per esempio:Che tipo di file viene creato quando creiamo un nuovo file senza l'estensione?

File file = new File("D:/light.txt"); 

Vorrei sapere che tipo di formato di file otteniamo quando creiamo un file senza il tipo di estensione del file. Per esempio:

File file = new File("D:/light"); 
+2

Un file senza estensione. – Psytho

+0

Il tipo di file è determinato dal suo contenuto, non dal suo nome o estensione. – Kayaman

+0

Sto votando per chiudere questa domanda come off-topic perché non è legato alla programmazione. – Kayaman

risposta

4

Questa risposta presuppone che si stia facendo qualcosa di più della semplice creazione di un oggetto File - che si sta effettivamente creando un file sul file system. (Un oggetto File è solo una rappresentazione logica di una voce del file system che può o non può esistere.) Se sei in realtà semplicemente creando un oggetto File, leggi la risposta EJP - a quel punto, hai praticamente solo ho un nome Questo non ha un "tipo" o un "formato".

L'estensione è solo una parte del nome. Il sistema operativo può provare a utilizzarlo per visualizzare un'icona diversa o avviare un'applicazione specifica quando si fa doppio clic sull'icona o qualsiasi altra cosa, ma in realtà è solo una parte del nome.

Fondamentalmente, un file è costituito da:

  • Il nome specificato al momento della creazione
  • I byte che scrivete in esso
  • metadati come ad esempio il controllo di accesso

A meno che non aggiungere deliberatamente metadati, in genere è ereditato (autorizzazioni predefinite, ecc.).

È possibile scrivere qualsiasi dato in qualsiasi file - solo perché un file ha un'estensione di .txt non significa che sia sicuramente un file di testo. Potrebbe avere contenuto che è in realtà Dati audio con codifica MP3, ad esempio. Se il sistema operativo utilizza l'estensione del file o il contenuto per capire cosa fare con il file è fino al sistema operativo.

+0

Significa che se creiamo un file .txt e scriviamo un'informazione bitmap, sarà il file immagine anche se l'estensione indica che si tratta di un testo? –

+1

@ChitKhine: Sì, esattamente. Provalo tu stesso: rinomina un file immagine in "foo.txt" e aprilo nel Blocco note ... vedrai la spazzatura che è davvero il dato dell'immagine. –

+0

Ok. Ho provato, è esattamente come dici tu. Tuttavia, si apre se lo apro con una vernice anche se si tratta di un file txt. –

2

Che tipo di file viene creato quando creiamo nuovi file senza l'estensione?

Nessun file è stato creato, e c'è solo un tipo di File.

In java, quando creiamo un file, creiamo file utilizzando il nome dell'estensione.

Oppure no.

Ad esempio: File file = new File("D:/light.txt");

Vorrei sapere che tipo di formato di file otteniamo quando creiamo un file senza il tipo di estensione del file.

Non è così. Non si ottiene alcun formato di file, perché non si ottiene un file: solo un oggetto File in memoria.

Ad esempio: File file = new File("D:/light");

È possibile produrre tutti gli esempi che si desidera, ma viene creato alcun file, e nessun formato di file.

In ogni caso a Java non interessa le estensioni dei nomi. Il tuo sistema operativo potrebbe, ma questa è una storia diversa.

+0

Significa che se scrivo del testo nel file senza inserire l'estensione sarà un file di testo? –