Editor für GROße Dateien
-
Hi,
ich habe eine 500 MB xml Datei mit der ich arbeiten muss. Ich nutze derzeit Proton und habe auf meinem PC 500 MB Ram. Nur kommt dann nach einigen Minuten die Meldung, dass ich zu wenig Arbeitsspeicher habe. Gibst irgendwie nen Editor, der mir dennoch erlaubt mit so großen Dateien zu arbeiten?
Jens
-
Wie groß ist dein Virtueller Speicher? Sowas sollte nicht auftreten wenn du genug virtuellen Speicher hast.
-
Hi,
mein Virtueller Arbeitsspeicher hat nur hat ne Anfangsgröße von 384 MB und eine Max Größe von 768 MB.
Aktviert ist also Benutzerdefinierte größe, es gibt also auch noch die Optionen:
Größe wird vom System verwaltet und Auslagerungsdatei.
Welche Einstellung sollte ich mit welchen Werten nutzen, damit es geht?
Jens
-
Hi,
hab den virtuellen arbeitsspeicher mal auf 3gb gesetzt und immer noch das problem, das windows sagt:
Your System is low on virtual memory. windows is increasing the size of your virtual memory paging file.
Ich denke es liegt am editor. nur mit welchem editor kann ich 500bm große xml oder txt dateien öffnen?
jens
-
Such einfach nach einem, der die Files partiel öffnet.
-
hab es gerade mal mit einer 800 MB datei mit UltraEdit probiert und das hat funktioniert...
(Nach ca 5 Min. Wartezeit, war sie endlich offen; Systemvorraussetzungen waren in etwa die gleichen, wie bei dir (500 MB RAM))Ach übrigens, eine 500 MB XML-datei??? Willst du ne SVG-Website bauen, oder wofür sonst braucht man so viel Infos in einer Datei???
ndT lupo
Dummheit verlass mich nicht, sonst bin ich ganz alleine.
^Erich Kästner^
-
Diese normalen Editoren kannst du vergessen für solch große Dateien. Das Programm sollte immer nur das einlesen was auch sichtbar auf dem Bildschirm ist.
-
+üüüü schrieb:
Diese normalen Editoren kannst du vergessen für solch große Dateien. Das Programm sollte immer nur das einlesen was auch sichtbar auf dem Bildschirm ist.
ein bisschen Cachen sollte schon erlaubt sein
500MB XML? Hoffe mal, dass kein DOM Parser die verarbeiten will
-
hier haste einen mit dem du megabyteweise per spinner oben viewen kannst. mir war grade ein paar minuten langweilig - also den code nicht so ernst nehmen - funzen könnte er vielleicht trotzdem.
import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; import java.io.*; public class MainFrame extends JFrame{ private JPanel contentPane; private JTextArea taText = new JTextArea(""); private JScrollPane spText = new JScrollPane(taText); private JFileChooser fcOpen = new JFileChooser("c:"); private JSpinner spinFile = new JSpinner(); private final int MB = 1024*1024; private File file = null; public MainFrame(){ setBounds(100, 30, 800, 600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); contentPane = (JPanel) getContentPane(); contentPane.setLayout(new BorderLayout()); contentPane.add(spinFile, BorderLayout.NORTH); contentPane.add(spText, BorderLayout.CENTER); JMenuItem miOpen = new JMenuItem("Öffnen"); JMenu mFile = new JMenu("Datei"); mFile.add(miOpen); JMenuBar bar = new JMenuBar(); bar.add(mFile); setJMenuBar(bar); miOpen.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { openFile(); } }); spinFile.addChangeListener(new ChangeListener(){ public void stateChanged(ChangeEvent e) { int val = ((Integer) spinFile.getValue()).intValue(); if(val < 0) {spinFile.setValue(new Integer(0)); return;} loadSegment(file, val *MB, MB); } }); } private void openFile() { fcOpen.showOpenDialog(this); if( (file = fcOpen.getSelectedFile()) != null ) loadSegment(file, 0, MB); } private void loadSegment(File file, long offset, int len) { if(file == null) return; try { FileInputStream fr = new FileInputStream(file); if(offset+len > file.length()) len = (int)(file.length() - offset); if(len <= 0) return; fr.skip(offset); byte buffer[] = new byte[len]; fr.read(buffer, 0, len); taText.setText(new String(buffer)); fr.close(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args){ new MainFrame().show(); } }
-
@fit
ich kenn mich mit Java nicht so aus, aber bist du dir sicher, dass das Datei Zeugs nicht intern buffert?
-
jo thx. der FileReader puffert tatsächlich. aber beim FileInputStream scheint er beim skip direkt den dateizeiger zu verschieben. habe testhalber mal ne 700 mb datei geöffnet und bin auf "seite" 300 gesprungen. ging recht flott gegenüber dem FileReader. habe den code entsprechend editiert.