public Arquivo() {
		currentFile = "";
		extensao = ".txt";
		fileChooser = new JFileChooser() {
			private static final long serialVersionUID = 1L;

			@Override
			public void approveSelection() {
				String selectedFile = getSelectedFile().getAbsolutePath();
				if (!selectedFile.toLowerCase().endsWith(extensao) && getDialogType() == SAVE_DIALOG) {
					selectedFile += extensao;
				}
				File f = new File(selectedFile);
				setSelectedFile(f);
				if (f.exists() && !selectedFile.equals(currentFile) && getDialogType() == SAVE_DIALOG) {
					int result = JOptionPane.showConfirmDialog(this, "O arquivo já existe, deseja substituir o arquivo existente?", "Arquivo já existente",
							JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE);
					switch (result) {
					case JOptionPane.YES_OPTION:
						super.approveSelection();
						return;
					case JOptionPane.NO_OPTION:
						return;
					case JOptionPane.CLOSED_OPTION:
						return;
					case JOptionPane.CANCEL_OPTION:
						cancelSelection();
						return;
					}
				}
				super.approveSelection();
			}
		};

		fileChooser.setFileFilter(new FileNameExtensionFilter("Linguagem SI", extensao.replace(".", "")));
		fileChooser.setDialogTitle("Selecione o arquivo");
	}